Class ForwardCommitCommand
- java.lang.Object
-
- org.infinispan.commands.remote.BaseRpcCommand
-
- org.infinispan.server.hotrod.command.tx.ForwardCommitCommand
-
- All Implemented Interfaces:
org.infinispan.commands.InitializableCommand
,org.infinispan.commands.remote.CacheRpcCommand
,org.infinispan.commands.ReplicableCommand
public class ForwardCommitCommand extends org.infinispan.commands.remote.BaseRpcCommand
ACacheRpcCommand
implementation to forward the commit request from a client to the member that run the transaction.- Since:
- 9.1
- Author:
- Pedro Ruivo
-
-
Field Summary
Fields Modifier and Type Field Description protected AdvancedCache
cache
protected long
timeout
protected XidImpl
xid
-
Constructor Summary
Constructors Constructor Description ForwardCommitCommand(ByteString cacheName)
ForwardCommitCommand(ByteString cacheName, XidImpl xid, long timeout)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
canBlock()
If true, the command is processed asynchronously in a thread provided by an Infinispan thread pool.byte
getCommandId()
Used by marshallers to convert this command into an id for streaming.void
init(ComponentRegistry componentRegistry, boolean isRemote)
java.lang.Object
invoke()
Invoke the command synchronously.boolean
isReturnValueExpected()
If true, a return value will be provided when performed remotely.void
readFrom(java.io.ObjectInput input)
Reads this instance from the stream written byReplicableCommand.writeTo(ObjectOutput)
.java.lang.String
toString()
void
writeTo(java.io.ObjectOutput output)
Writes this instance to theObjectOutput
.-
Methods inherited from class org.infinispan.commands.remote.BaseRpcCommand
getCacheName, getOrigin, setOrigin
-
-
-
-
Field Detail
-
xid
protected XidImpl xid
-
timeout
protected long timeout
-
cache
protected AdvancedCache cache
-
-
Constructor Detail
-
ForwardCommitCommand
public ForwardCommitCommand(ByteString cacheName)
-
ForwardCommitCommand
public ForwardCommitCommand(ByteString cacheName, XidImpl xid, long timeout)
-
-
Method Detail
-
getCommandId
public byte getCommandId()
Description copied from interface:org.infinispan.commands.ReplicableCommand
Used by marshallers to convert this command into an id for streaming.- Returns:
- the method id of this command. This is compatible with pre-2.2.0 MethodCall ids.
-
invoke
public java.lang.Object invoke() throws java.lang.Throwable
Description copied from interface:org.infinispan.commands.ReplicableCommand
Invoke the command synchronously.This method is optional. Unless your command never blocks, please implement
ReplicableCommand.invokeAsync()
instead.- Throws:
java.lang.Throwable
-
toString
public java.lang.String toString()
- Overrides:
toString
in classorg.infinispan.commands.remote.BaseRpcCommand
-
init
public void init(ComponentRegistry componentRegistry, boolean isRemote)
- Specified by:
init
in interfaceorg.infinispan.commands.InitializableCommand
-
isReturnValueExpected
public boolean isReturnValueExpected()
Description copied from interface:org.infinispan.commands.ReplicableCommand
If true, a return value will be provided when performed remotely. Otherwise, a remoteResponseGenerator
may choose to simply return null to save on marshalling costs.- Specified by:
isReturnValueExpected
in interfaceorg.infinispan.commands.ReplicableCommand
- Returns:
- true or false
-
canBlock
public boolean canBlock()
Description copied from interface:org.infinispan.commands.ReplicableCommand
If true, the command is processed asynchronously in a thread provided by an Infinispan thread pool. Otherwise, the command is processed directly in the JGroups thread. This feature allows to avoid keep a JGroups thread busy that can originate discard of messages and retransmissions. So, the commands that can block (waiting for some state, acquiring locks, etc.) should return true.- Specified by:
canBlock
in interfaceorg.infinispan.commands.ReplicableCommand
- Overrides:
canBlock
in classorg.infinispan.commands.remote.BaseRpcCommand
- Returns:
true
if the command can block/wait,false
otherwise
-
writeTo
public void writeTo(java.io.ObjectOutput output) throws java.io.IOException
Description copied from interface:org.infinispan.commands.ReplicableCommand
Writes this instance to theObjectOutput
.- Specified by:
writeTo
in interfaceorg.infinispan.commands.ReplicableCommand
- Parameters:
output
- the stream.- Throws:
java.io.IOException
- if an error occurred during the I/O.
-
readFrom
public void readFrom(java.io.ObjectInput input) throws java.io.IOException
Description copied from interface:org.infinispan.commands.ReplicableCommand
Reads this instance from the stream written byReplicableCommand.writeTo(ObjectOutput)
.- Specified by:
readFrom
in interfaceorg.infinispan.commands.ReplicableCommand
- Parameters:
input
- the stream to read.- Throws:
java.io.IOException
- if an error occurred during the I/O.
-
-