public class QueryOperation extends AbstractNamedOperation implements ReadonlyOperation
name
GENERIC_PARTITION_ID
Constructor and Description |
---|
QueryOperation() |
QueryOperation(Query query) |
Modifier and Type | Method and Description |
---|---|
CallStatus |
call()
Call the operation and returns the CallStatus.
|
int |
getClassId()
Returns type identifier for this class.
|
int |
getFactoryId()
Returns DataSerializableFactory factory ID for this class.
|
Object |
getResponse()
Called if and only if
Operation.returnsResponse() returned true ,
shortly after Operation.run() returns. |
void |
onExecutionFailure(Throwable e)
Called when an
Exception /Error is thrown during
operation execution. |
ExceptionAction |
onInvocationException(Throwable throwable)
Called when an
Exception /Error is thrown
during an invocation. |
protected void |
readInternal(ObjectDataInput in) |
protected void |
writeInternal(ObjectDataOutput out) |
getName, toString
afterRun, beforeRun, executedLocally, getCallerAddress, getCallerUuid, getCallId, getCallTimeout, getClientCallId, getConnection, getInvocationTime, getLogger, getNodeEngine, getOperationResponseHandler, getPartitionId, getReplicaIndex, getService, getServiceName, getWaitTimeout, isUrgent, logError, onSetCallId, readData, requiresExplicitServiceName, returnsResponse, run, sendResponse, setCallerUuid, setClientCallId, setNodeEngine, setOperationResponseHandler, setPartitionId, setReplicaIndex, setService, setServiceName, setValidateTarget, setWaitTimeout, toString, validatesTarget, writeData
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
readData, writeData
public QueryOperation()
public QueryOperation(Query query)
public CallStatus call() throws Exception
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 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.call
in class Operation
Exception
- if something failed while executing 'call'.Operation.run()
public ExceptionAction onInvocationException(Throwable throwable)
Operation
Exception
/Error
is thrown
during an invocation. Invocation process will continue, it will retry
or fail according to returned ExceptionAction
.
This method is called on caller side of the invocation.
onInvocationException
in class Operation
throwable
- Exception
/Error
thrown during
invocationExceptionAction
public void onExecutionFailure(Throwable e)
Operation
Exception
/Error
is thrown during
operation execution.
By default this method does nothing. Operation implementations can override this behaviour according to their needs.
This method is called on node & thread that's executing the operation.
onExecutionFailure
in class Operation
e
- Exception/Error thrown during operation executionpublic Object getResponse()
Operation
Operation.returnsResponse()
returned true
,
shortly after Operation.run()
returns.getResponse
in class Operation
public int getFactoryId()
IdentifiedDataSerializable
getFactoryId
in interface IdentifiedDataSerializable
public int getClassId()
IdentifiedDataSerializable
getClassId
in interface IdentifiedDataSerializable
protected void writeInternal(ObjectDataOutput out) throws IOException
writeInternal
in class AbstractNamedOperation
IOException
protected void readInternal(ObjectDataInput in) throws IOException
readInternal
in class AbstractNamedOperation
IOException
Copyright © 2019 Hazelcast, Inc.. All rights reserved.