public final class CallableTaskOperation extends Operation implements IdentifiedDataSerializable, MutatingOperation
Modifier and Type | Field and Description |
---|---|
protected String |
name |
protected String |
uuid |
GENERIC_PARTITION_ID
Constructor and Description |
---|
CallableTaskOperation() |
CallableTaskOperation(String name,
String uuid,
Data callableData) |
Modifier and Type | Method and Description |
---|---|
CallStatus |
call()
Call the operation and returns the CallStatus.
|
int |
getFactoryId()
Returns DataSerializableFactory factory ID for this class.
|
int |
getId()
Returns type identifier for this class.
|
String |
getName()
Returns the name of the distributed data structure.
|
String |
getServiceName() |
protected void |
readInternal(ObjectDataInput in) |
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, getWaitTimeout, isUrgent, logError, onExecutionFailure, onInvocationException, onSetCallId, readData, returnsResponse, run, sendResponse, setCallerUuid, setNodeEngine, setOperationResponseHandler, setPartitionId, setReplicaIndex, setService, setServiceName, setValidateTarget, setWaitTimeout, toString, validatesTarget, writeData
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getFactoryId
readData, writeData
public int getId()
IdentifiedDataSerializable
getId
in interface IdentifiedDataSerializable
public final CallStatus call()
Operation
Operation.run()
methods will be replaced by call methods.
The call method looks very much like the Operation.run()
method and it is very close to Runnable.run()
and
Callable.call()
.
The main difference between a run and call, is that the returned CallStatus from the call can tell something about the
actual execution. For example it could tell that some waiting is required in case of a BlockingOperation
.
Or that the actual execution the work is offloaded to some executor in case of an Offloadable
EntryOperation
.
In the future new types of CallStatus are expected to be added, e.g. for interleaving.
In the future it is very likely that for regular Operation that want to return a concrete response, the
actual response can be returned directly. In this case we'll change the return type to Object
to
prevent forcing the response to be wrapped in a CallStatus.DONE_RESPONSE
monad since that would force additional
litter to be created.public String getName()
NamedOperation
getName
in interface NamedOperation
public String getServiceName()
getServiceName
in class Operation
protected void writeInternal(ObjectDataOutput out) throws IOException
writeInternal
in class Operation
IOException
protected void readInternal(ObjectDataInput in) throws IOException
readInternal
in class Operation
IOException
protected 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
Copyright © 2018 Hazelcast, Inc.. All Rights Reserved.