Package org.infinispan.query.clustered
Class ClusteredQueryCommand
- java.lang.Object
-
- org.infinispan.commands.remote.BaseRpcCommand
-
- org.infinispan.query.clustered.ClusteredQueryCommand
-
- All Implemented Interfaces:
org.infinispan.commands.remote.CacheRpcCommand
,org.infinispan.commands.ReplicableCommand
,org.infinispan.query.impl.CustomQueryCommand
public final class ClusteredQueryCommand extends org.infinispan.commands.remote.BaseRpcCommand implements org.infinispan.query.impl.CustomQueryCommand
Encapsulates all rpc calls for distributed queries actions.This class is public so it can be used by other internal Infinispan packages but should not be considered part of a public API.
- Since:
- 5.1
- Author:
- Israel Lacerra <israeldl@gmail.com>
-
-
Field Summary
Fields Modifier and Type Field Description static byte
COMMAND_ID
-
Constructor Summary
Constructors Constructor Description ClusteredQueryCommand(ByteString cacheName)
For CommandFactory only.
-
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.boolean
equals(Object obj)
byte
getCommandId()
Used by marshallers to convert this command into an id for streaming.int
hashCode()
CompletableFuture<Object>
invokeAsync()
Invokes a query on a (remote) cache and returns results (list of keys).boolean
isReturnValueExpected()
If true, a return value will be provided when performed remotely.QueryResponse
perform(AdvancedCache<?,?> cache)
void
readFrom(ObjectInput input)
Reads this instance from the stream written byReplicableCommand.writeTo(ObjectOutput)
.void
setCacheManager(EmbeddedCacheManager cm)
String
toString()
void
writeTo(ObjectOutput output)
Writes this instance to theObjectOutput
.-
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
-
-
-
-
Field Detail
-
COMMAND_ID
public static final byte COMMAND_ID
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
ClusteredQueryCommand
public ClusteredQueryCommand(ByteString cacheName)
For CommandFactory only. To create a ClusteredQueryCommand, use createLazyIterator(), destroyLazyQuery(), getResultSize() or retrieveKeyFromLazyQuery()
-
-
Method Detail
-
setCacheManager
public void setCacheManager(EmbeddedCacheManager cm)
- Specified by:
setCacheManager
in interfaceorg.infinispan.query.impl.CustomQueryCommand
-
invokeAsync
public CompletableFuture<Object> invokeAsync()
Invokes a query on a (remote) cache and returns results (list of keys).- Specified by:
invokeAsync
in interfaceorg.infinispan.commands.ReplicableCommand
- Returns:
- returns a
CompletableFuture
with aList<Object>
.
-
perform
public QueryResponse perform(AdvancedCache<?,?> cache)
-
getCommandId
public byte getCommandId()
Description copied from interface:org.infinispan.commands.ReplicableCommand
Used by marshallers to convert this command into an id for streaming.- Specified by:
getCommandId
in interfaceorg.infinispan.commands.ReplicableCommand
- 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:org.infinispan.commands.ReplicableCommand
Writes this instance to theObjectOutput
.- Specified by:
writeTo
in interfaceorg.infinispan.commands.ReplicableCommand
- 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: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:
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 classorg.infinispan.commands.remote.BaseRpcCommand
-
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
-
-