public final class Backup extends Operation implements BackupOperation, AllowedDuringPassiveState, IdentifiedDataSerializable
GENERIC_PARTITION_ID| Constructor and Description |
|---|
Backup() |
Backup(Data backupOpData,
Address originalCaller,
long[] replicaVersions,
boolean sync) |
Backup(Operation backupOp,
Address originalCaller,
long[] replicaVersions,
boolean sync) |
| Modifier and Type | Method and Description |
|---|---|
void |
afterRun()
Is executed called after
Operation.run() or Operation.call() method completes normally and the operation is not
blocked, see CallStatus.WAIT. |
void |
beforeRun()
The beforeRun is called before either the
Operation.run() or the Operation.call() method is called. |
Operation |
getBackupOp() |
int |
getFactoryId()
Returns DataSerializableFactory factory ID for this class.
|
int |
getId()
Returns type identifier for this class.
|
void |
logError(Throwable e)
Logs Exception/Error thrown during operation execution.
|
void |
onExecutionFailure(Throwable e)
Called when an Exception/Error is thrown during
operation execution.
|
protected void |
readInternal(ObjectDataInput in) |
boolean |
returnsResponse()
Method is intended to be subclassed.
|
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) |
call, executedLocally, getCallerAddress, getCallerUuid, getCallId, getCallTimeout, getConnection, getInvocationTime, getLogger, getNodeEngine, getOperationResponseHandler, getPartitionId, getReplicaIndex, getResponse, getService, getServiceName, getWaitTimeout, isUrgent, onInvocationException, onSetCallId, readData, requiresExplicitServiceName, sendResponse, setCallerUuid, setNodeEngine, setOperationResponseHandler, setPartitionId, setReplicaIndex, setService, setServiceName, setValidateTarget, setWaitTimeout, toString, writeDataclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetPartitionIdreadData, writeDatapublic Backup()
public Backup(Operation backupOp, Address originalCaller, long[] replicaVersions, boolean sync)
public Operation getBackupOp()
public void beforeRun()
throws Exception
OperationOperation.run() or the Operation.call() method is called.
runs before wait-supportpublic void run()
throws Exception
OperationOperation.run() or Operation.call() method should be implemented; not both.
Runs after wait-support, supposed to do actual operationrun in class OperationExceptionOperation.call()public void afterRun()
throws Exception
OperationOperation.run() or Operation.call() method completes normally and the operation is not
blocked, see CallStatus.WAIT.
Runs after backups, before wait-notify.public 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 boolean validatesTarget()
validatesTarget in class Operationpublic void onExecutionFailure(Throwable e)
OperationonExecutionFailure in class Operatione - Exception/Error thrown during operation executionpublic void logError(Throwable e)
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 © 2019 Hazelcast, Inc.. All Rights Reserved.