public final class ReadWriteManyCommand<K,V,R> extends AbstractWriteManyCommand
| Modifier and Type | Field and Description |
|---|---|
static byte |
COMMAND_ID |
| Constructor and Description |
|---|
ReadWriteManyCommand() |
ReadWriteManyCommand(ReadWriteManyCommand command) |
ReadWriteManyCommand(Set<? extends K> keys,
Function<EntryView.ReadWriteEntryView<K,V>,R> f,
Params params) |
| Modifier and Type | Method and Description |
|---|---|
Object |
acceptVisitor(InvocationContext ctx,
Visitor visitor)
Accept a visitor, and return the result of accepting this visitor.
|
void |
addAllRemoteReturns(List<R> returns) |
boolean |
alwaysReadsExistingValues() |
boolean |
canBlock()
If true, the command is processed asynchronously in a thread provided by an Infinispan thread pool.
|
Set<Object> |
getAffectedKeys() |
byte |
getCommandId()
Used by marshallers to convert this command into an id for streaming.
|
Set<? extends K> |
getKeys() |
int |
getTopologyId() |
boolean |
ignoreCommandOnStatus(ComponentStatus status)
Similar to
VisitableCommand.shouldInvoke(InvocationContext) but evaluated by InvocationContextInterceptor. |
boolean |
isConditional()
Certain commands only work based on a certain condition or state of the cache.
|
boolean |
isForwarded() |
boolean |
isReturnValueExpected()
If true, a return value will be provided when performed remotely.
|
boolean |
isSuccessful()
Some commands may want to provide information on whether the command was successful or not.
|
Object |
perform(InvocationContext ctx)
Performs the primary function of the command.
|
void |
readFrom(ObjectInput input)
Reads this instance from the stream written by
ReplicableCommand.writeTo(ObjectOutput). |
boolean |
readsExistingValues() |
void |
setForwarded(boolean forwarded) |
void |
setKeys(Set<? extends K> keys) |
void |
setTopologyId(int topologyId) |
boolean |
shouldInvoke(InvocationContext ctx)
Used by the InboundInvocationHandler to determine whether the command should be invoked or not.
|
void |
updateStatusFromRemoteResponse(Object remoteResponse)
Used for conditional commands, to update the status of the command on the originator
based on the result of its execution on the primary owner.
|
void |
writeTo(ObjectOutput output)
Writes this instance to the
ObjectOutput. |
getFlags, getMetadata, getParams, getValueMatcher, hasFlag, setFlags, setFlags, setMetadata, setParams, setValueMatcherclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitisWriteOnlygetParameters, setParametersaddFlag, addFlagspublic static final byte COMMAND_ID
public ReadWriteManyCommand(Set<? extends K> keys, Function<EntryView.ReadWriteEntryView<K,V>,R> f, Params params)
public ReadWriteManyCommand(ReadWriteManyCommand command)
public ReadWriteManyCommand()
public byte getCommandId()
ReplicableCommandpublic void writeTo(ObjectOutput output) throws IOException
ReplicableCommandObjectOutput.output - the stream.IOException - if an error occurred during the I/O.public void readFrom(ObjectInput input) throws IOException, ClassNotFoundException
ReplicableCommandReplicableCommand.writeTo(ObjectOutput).input - the stream to read.IOException - if an error occurred during the I/O.ClassNotFoundException - if it tries to load an undefined class.public boolean isForwarded()
isForwarded in class AbstractWriteManyCommandpublic void setForwarded(boolean forwarded)
setForwarded in class AbstractWriteManyCommandpublic boolean shouldInvoke(InvocationContext ctx)
VisitableCommandshouldInvoke in interface VisitableCommandshouldInvoke in class AbstractWriteManyCommandpublic boolean isReturnValueExpected()
ReplicableCommandResponseGenerator
may choose to simply return null to save on marshalling costs.public int getTopologyId()
getTopologyId in interface TopologyAffectedCommandgetTopologyId in class AbstractWriteManyCommandpublic void setTopologyId(int topologyId)
setTopologyId in interface TopologyAffectedCommandsetTopologyId in class AbstractWriteManyCommandpublic Object acceptVisitor(InvocationContext ctx, Visitor visitor) throws Throwable
VisitableCommandctx - invocation contextvisitor - visitor to acceptThrowable - in the event of problemspublic Object perform(InvocationContext ctx) throws Throwable
ReplicableCommandctx - invocation contextThrowable - in the event of problems.public boolean isSuccessful()
WriteCommandisSuccessful in interface WriteCommandisSuccessful in class AbstractWriteManyCommandpublic boolean isConditional()
WriteCommandConcurrentMap.putIfAbsent(Object, Object) only does anything if a condition is met, i.e., the entry in
question is not already present. This method tests whether the command in question is conditional or not.isConditional in interface WriteCommandisConditional in class AbstractWriteManyCommandpublic boolean canBlock()
ReplicableCommandtrue if the command can block/wait, false otherwisepublic Set<Object> getAffectedKeys()
public void updateStatusFromRemoteResponse(Object remoteResponse)
WriteCommandpublic boolean ignoreCommandOnStatus(ComponentStatus status)
VisitableCommandVisitableCommand.shouldInvoke(InvocationContext) but evaluated by InvocationContextInterceptor.
Commands can opt to be discarded in case the cache status is not suited (as InvalidateCommand)public boolean readsExistingValues()
true if the command needs to read the previous values of the keys it acts on.public boolean alwaysReadsExistingValues()
true if the command needs to read the previous values even on the backup owners.
In transactional caches, this refers to all the owners except the originator.Copyright © 2024 JBoss, a division of Red Hat. All rights reserved.