Package org.infinispan.commands.remote
Class ClusteredGetCommand
- java.lang.Object
-
- org.infinispan.commands.remote.BaseRpcCommand
-
- org.infinispan.commands.remote.BaseClusteredReadCommand
-
- org.infinispan.commands.remote.ClusteredGetCommand
-
- All Implemented Interfaces:
CacheRpcCommand
,ReplicableCommand
,SegmentSpecificCommand
,TopologyAffectedCommand
public class ClusteredGetCommand extends BaseClusteredReadCommand implements SegmentSpecificCommand
Issues a remote get call. This is not aVisitableCommand
and hence not passed up the interceptor chain.- Since:
- 4.0
- Author:
- Mircea.Markus@jboss.com
-
-
Field Summary
Fields Modifier and Type Field Description static byte
COMMAND_ID
-
Fields inherited from class org.infinispan.commands.remote.BaseClusteredReadCommand
topologyId
-
Fields inherited from class org.infinispan.commands.remote.BaseRpcCommand
cacheName
-
-
Constructor Summary
Constructors Constructor Description ClusteredGetCommand(Object key, ByteString cacheName, int segment, long flags)
ClusteredGetCommand(ByteString cacheName)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description boolean
canBlock()
If true, the command is processed asynchronously in a thread provided by an Infinispan thread pool.boolean
equals(Object o)
byte
getCommandId()
Used by marshallers to convert this command into an id for streaming.GlobalTransaction
getGlobalTransaction()
Deprecated.Object
getKey()
int
getSegment()
Returns the segment that this key maps to.int
hashCode()
void
initialize(InvocationContextFactory icf, CommandsFactory commandsFactory, org.infinispan.container.impl.InternalEntryFactory entryFactory, AsyncInterceptorChain interceptorChain)
CompletableFuture<Object>
invokeAsync()
Invokes a logical "get(key)" on a remote cache and returns results.boolean
isReturnValueExpected()
If true, a return value will be provided when performed remotely.boolean
isWrite()
void
readFrom(ObjectInput input)
Reads this instance from the stream written byReplicableCommand.writeTo(ObjectOutput)
.void
setWrite(boolean write)
String
toString()
void
writeTo(ObjectOutput output)
Writes this instance to theObjectOutput
.-
Methods inherited from class org.infinispan.commands.remote.BaseClusteredReadCommand
getFlagsBitSet, getTopologyId, hasAnyFlag, printFlags, setFlagsBitSet, setTopologyId
-
Methods inherited from class org.infinispan.commands.remote.BaseRpcCommand
getCacheName, getOrigin, setOrigin
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.infinispan.commands.ReplicableCommand
invoke, isSuccessful, perform
-
-
-
-
Field Detail
-
COMMAND_ID
public static final byte COMMAND_ID
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
ClusteredGetCommand
public ClusteredGetCommand(ByteString cacheName)
-
ClusteredGetCommand
public ClusteredGetCommand(Object key, ByteString cacheName, int segment, long flags)
-
-
Method Detail
-
initialize
public void initialize(InvocationContextFactory icf, CommandsFactory commandsFactory, org.infinispan.container.impl.InternalEntryFactory entryFactory, AsyncInterceptorChain interceptorChain)
-
invokeAsync
public CompletableFuture<Object> invokeAsync() throws Throwable
Invokes a logical "get(key)" on a remote cache and returns results.- Specified by:
invokeAsync
in interfaceReplicableCommand
- Throws:
Throwable
-
getGlobalTransaction
@Deprecated public GlobalTransaction getGlobalTransaction()
Deprecated.
-
getCommandId
public byte getCommandId()
Description copied from interface:ReplicableCommand
Used by marshallers to convert this command into an id for streaming.- Specified by:
getCommandId
in interfaceReplicableCommand
- Returns:
- the method id of this command. This is compatible with pre-2.2.0 MethodCall ids.
-
writeTo
public void writeTo(ObjectOutput output) throws IOException
Description copied from interface:ReplicableCommand
Writes this instance to theObjectOutput
.- Specified by:
writeTo
in interfaceReplicableCommand
- Parameters:
output
- the stream.- Throws:
IOException
- if an error occurred during the I/O.
-
readFrom
public void readFrom(ObjectInput input) throws IOException, ClassNotFoundException
Description copied from interface:ReplicableCommand
Reads this instance from the stream written byReplicableCommand.writeTo(ObjectOutput)
.- Specified by:
readFrom
in interfaceReplicableCommand
- Parameters:
input
- the stream to read.- Throws:
IOException
- if an error occurred during the I/O.ClassNotFoundException
- if it tries to load an undefined class.
-
toString
public String toString()
- Overrides:
toString
in classBaseRpcCommand
-
isWrite
public boolean isWrite()
-
setWrite
public void setWrite(boolean write)
-
getSegment
public int getSegment()
Description copied from interface:SegmentSpecificCommand
Returns the segment that this key maps to. This must always return a number 0 or larger.- Specified by:
getSegment
in interfaceSegmentSpecificCommand
- Returns:
- the segment of the key
-
getKey
public Object getKey()
-
isReturnValueExpected
public boolean isReturnValueExpected()
Description copied from interface: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 interfaceReplicableCommand
- Returns:
- true or false
-
canBlock
public boolean canBlock()
Description copied from interface: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 interfaceReplicableCommand
- Overrides:
canBlock
in classBaseRpcCommand
- Returns:
true
if the command can block/wait,false
otherwise
-
-