public final class PartitionIteratingOperation extends Operation implements IdentifiedDataSerializable
THe execution used to be synchronous; so the thread executing this PartitionIteratingOperation would block till all
the child requests are done. In 3.8 this is made asynchronous so that the thread isn't consumed and available for
other tasks. On each partition operation an OperationResponseHandler
is set, that sends the result to the
caller when all responses have completed.
Modifier and Type | Class and Description |
---|---|
static class |
PartitionIteratingOperation.PartitionResponse |
GENERIC_PARTITION_ID
Constructor and Description |
---|
PartitionIteratingOperation() |
PartitionIteratingOperation(OperationFactory operationFactory,
List<Integer> partitions) |
Modifier and Type | Method and Description |
---|---|
int |
getFactoryId()
Returns DataSerializableFactory factory id for this class.
|
int |
getId()
Returns type identifier for this class.
|
OperationFactory |
getOperationFactory() |
void |
onExecutionFailure(Throwable cause)
Called when an Exception/Error is thrown during operation execution.
|
protected void |
readInternal(ObjectDataInput in) |
boolean |
returnsResponse() |
void |
run() |
protected void |
toString(StringBuilder sb)
A template method allows for additional information to be passed into the
Operation.toString() method. |
protected void |
writeInternal(ObjectDataOutput out) |
afterRun, beforeRun, executedLocally, getCallerAddress, getCallerUuid, getCallId, getCallTimeout, getConnection, getInvocationTime, getLogger, getNodeEngine, getOperationResponseHandler, getPartitionId, getReplicaIndex, getResponse, getService, getServiceName, getWaitTimeout, isUrgent, logError, onInvocationException, onSetCallId, readData, sendResponse, setCallerUuid, setNodeEngine, setOperationResponseHandler, setPartitionId, setReplicaIndex, setService, setServiceName, setValidateTarget, setWaitTimeout, toString, validatesTarget, writeData
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
readData, writeData
public PartitionIteratingOperation()
public PartitionIteratingOperation(OperationFactory operationFactory, List<Integer> partitions)
public OperationFactory getOperationFactory()
public boolean returnsResponse()
returnsResponse
in class Operation
public void onExecutionFailure(Throwable cause)
Operation
onExecutionFailure
in class Operation
cause
- Exception/Error thrown during operation executionprotected void toString(StringBuilder sb)
Operation
Operation.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 always to call the super.toString(stringBuffer) when implementing this method to make sure
that the super class can inject content if needed.public int getFactoryId()
IdentifiedDataSerializable
getFactoryId
in interface IdentifiedDataSerializable
public int getId()
IdentifiedDataSerializable
getId
in interface IdentifiedDataSerializable
protected void writeInternal(ObjectDataOutput out) throws IOException
writeInternal
in class Operation
IOException
protected void readInternal(ObjectDataInput in) throws IOException
readInternal
in class Operation
IOException
Copyright © 2017 Hazelcast, Inc.. All Rights Reserved.