Class AbstractUpdateCommand
- java.lang.Object
-
- org.infinispan.commands.remote.BaseRpcCommand
-
- org.infinispan.query.indexmanager.AbstractUpdateCommand
-
- All Implemented Interfaces:
org.infinispan.commands.remote.CacheRpcCommand,org.infinispan.commands.ReplicableCommand,org.infinispan.query.impl.CustomQueryCommand
- Direct Known Subclasses:
AffinityUpdateCommand,IndexUpdateCommand,IndexUpdateStreamCommand
public abstract class AbstractUpdateCommand extends org.infinispan.commands.remote.BaseRpcCommand implements org.infinispan.commands.ReplicableCommand, org.infinispan.query.impl.CustomQueryCommandBase class for index commands.- Since:
- 7.0
- Author:
- gustavonalle
-
-
Field Summary
Fields Modifier and Type Field Description protected StringindexNameprotected org.infinispan.query.backend.QueryInterceptorqueryInterceptorprotected org.hibernate.search.spi.SearchIntegratorsearchFactoryprotected byte[]serializedModel
-
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractUpdateCommand(ByteString cacheName)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description booleancanBlock()If true, the command is processed asynchronously in a thread provided by an Infinispan thread pool.abstract bytegetCommandId()Used by marshallers to convert this command into an id for streaming.StringgetIndexName()abstract CompletableFuture<Object>invokeAsync()Invoke the command asynchronously.booleanisReturnValueExpected()If true, a return value will be provided when performed remotely.voidreadFrom(ObjectInput input)Reads this instance from the stream written byReplicableCommand.writeTo(ObjectOutput).voidsetCacheManager(EmbeddedCacheManager cm)This is invoked only on the receiving node, beforeReplicableCommand.perform(org.infinispan.context.InvocationContext).voidsetIndexName(String indexName)protected voidsetSerializedWorkList(byte[] serializedModel)voidwriteTo(ObjectOutput output)Writes this instance to theObjectOutput.-
Methods inherited from class org.infinispan.commands.remote.BaseRpcCommand
getCacheName, getOrigin, setOrigin, toString
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
-
-
-
Field Detail
-
searchFactory
protected org.hibernate.search.spi.SearchIntegrator searchFactory
-
indexName
protected String indexName
-
serializedModel
protected byte[] serializedModel
-
queryInterceptor
protected org.infinispan.query.backend.QueryInterceptor queryInterceptor
-
-
Constructor Detail
-
AbstractUpdateCommand
protected AbstractUpdateCommand(ByteString cacheName)
-
-
Method Detail
-
invokeAsync
public abstract CompletableFuture<Object> invokeAsync() throws Throwable
Description copied from interface:org.infinispan.commands.ReplicableCommandInvoke the command asynchronously.This method replaces
ReplicableCommand.perform(InvocationContext)for remote execution. The default implementation andReplicableCommand.perform(InvocationContext)will be removed in future versions.- Specified by:
invokeAsyncin interfaceorg.infinispan.commands.ReplicableCommand- Throws:
Throwable
-
getCommandId
public abstract byte getCommandId()
Description copied from interface:org.infinispan.commands.ReplicableCommandUsed by marshallers to convert this command into an id for streaming.- Specified by:
getCommandIdin 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.ReplicableCommandWrites this instance to theObjectOutput.- Specified by:
writeToin 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
Description copied from interface:org.infinispan.commands.ReplicableCommandReads this instance from the stream written byReplicableCommand.writeTo(ObjectOutput).- Specified by:
readFromin interfaceorg.infinispan.commands.ReplicableCommand- Parameters:
input- the stream to read.- Throws:
IOException- if an error occurred during the I/O.
-
isReturnValueExpected
public boolean isReturnValueExpected()
Description copied from interface:org.infinispan.commands.ReplicableCommandIf true, a return value will be provided when performed remotely. Otherwise, a remoteResponseGeneratormay choose to simply return null to save on marshalling costs.- Specified by:
isReturnValueExpectedin interfaceorg.infinispan.commands.ReplicableCommand- Returns:
- true or false
-
setCacheManager
public void setCacheManager(EmbeddedCacheManager cm)
This is invoked only on the receiving node, beforeReplicableCommand.perform(org.infinispan.context.InvocationContext).- Specified by:
setCacheManagerin interfaceorg.infinispan.query.impl.CustomQueryCommand
-
canBlock
public boolean canBlock()
Description copied from interface:org.infinispan.commands.ReplicableCommandIf 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:
canBlockin interfaceorg.infinispan.commands.ReplicableCommand- Overrides:
canBlockin classorg.infinispan.commands.remote.BaseRpcCommand- Returns:
trueif the command can block/wait,falseotherwise
-
getIndexName
public String getIndexName()
-
setSerializedWorkList
protected void setSerializedWorkList(byte[] serializedModel)
-
setIndexName
public void setIndexName(String indexName)
-
-