public class RaftQueryOp extends Operation implements IndeterminateOperationStateAware, RaftSystemOperation, ExecutionCallback, IdentifiedDataSerializable
GENERIC_PARTITION_ID| Constructor and Description |
|---|
RaftQueryOp() |
RaftQueryOp(CPGroupId groupId,
RaftOp raftOp,
QueryPolicy queryPolicy) |
| Modifier and Type | Method and Description |
|---|---|
int |
getFactoryId()
Returns DataSerializableFactory factory ID for this class.
|
int |
getId()
Returns type identifier for this class.
|
String |
getServiceName() |
boolean |
isRetryableOnIndeterminateOperationState()
Returns true if duplicate commit of the operation is equivalent to
committing it only once.
|
void |
onFailure(Throwable t)
Called when an execution is completed with an error.
|
void |
onResponse(Object response)
Called when an execution is completed successfully.
|
protected void |
readInternal(ObjectDataInput in) |
boolean |
returnsResponse()
Method is intended to be overridden.
|
void |
run()
Runs the operation.
|
protected void |
toString(StringBuilder sb)
A template method allows for additional information to be passed into
the
Operation.toString() method. |
boolean |
validatesTarget() |
protected void |
writeInternal(ObjectDataOutput out) |
afterRun, beforeRun, call, executedLocally, getCallerAddress, getCallerUuid, getCallId, getCallTimeout, getConnection, getInvocationTime, getLogger, getNodeEngine, getOperationResponseHandler, getPartitionId, getReplicaIndex, getResponse, getService, getWaitTimeout, isUrgent, logError, onExecutionFailure, onInvocationException, onSetCallId, readData, requiresExplicitServiceName, sendResponse, setCallerUuid, setNodeEngine, setOperationResponseHandler, setPartitionId, setReplicaIndex, setService, setServiceName, setValidateTarget, setWaitTimeout, toString, writeDataclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitreadData, writeDatapublic RaftQueryOp()
public RaftQueryOp(CPGroupId groupId, RaftOp raftOp, QueryPolicy queryPolicy)
public final void run()
OperationOperation.run() or Operation.call() method should be implemented; not both.
Runs after wait-support, supposed to do actual operationrun in class OperationOperation.call()public boolean isRetryableOnIndeterminateOperationState()
IndeterminateOperationStateAwareisRetryableOnIndeterminateOperationState in interface IndeterminateOperationStateAwarepublic void onResponse(Object response)
ExecutionCallbackonResponse in interface ExecutionCallbackresponse - the result of the successful executionpublic void onFailure(Throwable t)
ExecutionCallbackonFailure in interface ExecutionCallbackt - the exception that is thrownpublic final boolean returnsResponse()
Operationtrue,
Operation.getResponse() will be called right after Operation.run() method.
If it returns false, Operation.sendResponse(Object) must be
called later to finish the operation.
In other words, true is for synchronous operation and
false is for asynchronous one.
Default implementation is synchronous operation (true).
returnsResponse in class Operationpublic final boolean validatesTarget()
validatesTarget in class Operationpublic final String getServiceName()
getServiceName in class Operationpublic int getFactoryId()
IdentifiedDataSerializablegetFactoryId in interface IdentifiedDataSerializablepublic int getId()
IdentifiedDataSerializablegetId in interface IdentifiedDataSerializableprotected void writeInternal(ObjectDataOutput out) throws IOException
writeInternal in class OperationIOExceptionprotected void readInternal(ObjectDataInput in) throws IOException
readInternal in class OperationIOExceptionprotected void toString(StringBuilder sb)
OperationOperation.toString() method. So an Operation subclass can override
this method and add additional debugging content. The default
implementation does nothing so one is not forced to provide an empty
implementation.
It is a good practice to always call the super.toString(stringBuffer)
when implementing this method to make sure that the super class can
inject content if needed.Copyright © 2022 Hazelcast, Inc.. All Rights Reserved.