public abstract class AbstractMultiSpaceReplicaDataProducer extends Object implements ISpaceReplicaDataProducer<IExecutableSpaceReplicaData>
ISingleStageReplicaDataProducer.CloseStatus
Modifier and Type | Field and Description |
---|---|
protected SpaceEngine |
_engine |
protected static org.slf4j.Logger |
_logger |
protected Object |
_requestContext |
FORCED_CLOSE_WAIT_TIME
Constructor and Description |
---|
AbstractMultiSpaceReplicaDataProducer(SpaceEngine engine,
SpaceCopyReplicaParameters parameters,
Object requestContext) |
Modifier and Type | Method and Description |
---|---|
protected abstract List<ISingleStageReplicaDataProducer<? extends IExecutableSpaceReplicaData>> |
buildDataProducers(SpaceCopyReplicaParameters parameters) |
ISingleStageReplicaDataProducer.CloseStatus |
close(boolean forced)
Closes the producer, frees up resources held in order to service the replica request.
|
String |
dumpState() |
protected String |
getLogPrefix() |
CurrentStageInfo |
nextReplicaStage() |
protected void |
onClose() |
IExecutableSpaceReplicaData |
produceNextData(ISynchronizationCallback synchCallback)
Produce next data needed for replica, this call will always be followed by
#releaseLockedData(ISpaceReplicaData) if lockedData is true, it should keep that item
represented by this data locked until the release is called This is done in order to ensure
synchronization correctness |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getName, toFilterEntry
protected static final org.slf4j.Logger _logger
protected final Object _requestContext
protected final SpaceEngine _engine
public AbstractMultiSpaceReplicaDataProducer(SpaceEngine engine, SpaceCopyReplicaParameters parameters, Object requestContext)
protected abstract List<ISingleStageReplicaDataProducer<? extends IExecutableSpaceReplicaData>> buildDataProducers(SpaceCopyReplicaParameters parameters)
public IExecutableSpaceReplicaData produceNextData(ISynchronizationCallback synchCallback)
ISingleStageReplicaDataProducer
#releaseLockedData(ISpaceReplicaData)
if lockedData is true, it should keep that item
represented by this data locked until the release is called This is done in order to ensure
synchronization correctnessproduceNextData
in interface ISingleStageReplicaDataProducer<IExecutableSpaceReplicaData>
synchCallback
- callback to the synchronization processor that needs to be called safely
under lockpublic ISingleStageReplicaDataProducer.CloseStatus close(boolean forced)
ISingleStageReplicaDataProducer
close
in interface ISingleStageReplicaDataProducer<IExecutableSpaceReplicaData>
protected void onClose()
public CurrentStageInfo nextReplicaStage()
nextReplicaStage
in interface ISpaceReplicaDataProducer<IExecutableSpaceReplicaData>
protected String getLogPrefix()
public String dumpState()
dumpState
in interface ISingleStageReplicaDataProducer<IExecutableSpaceReplicaData>
Copyright © GigaSpaces.