public abstract class ReplicationInformerBase<T> extends java.lang.Object implements IReplicationInformerBase<T>
Modifier and Type | Class and Description |
---|---|
static class |
ReplicationInformerBase.FailureCounter |
static class |
ReplicationInformerBase.OperationResult<T> |
Modifier and Type | Field and Description |
---|---|
protected Convention |
conventions |
protected java.util.List<EventHandler<ReplicationInformer.FailoverStatusChangedEventArgs>> |
failoverStatusChanged |
protected java.util.Map<java.lang.String,ReplicationInformerBase.FailureCounter> |
failureCounts |
protected boolean |
firstTime |
protected java.util.Date |
lastReplicationUpdate |
protected static ILog |
log |
protected static java.util.concurrent.atomic.AtomicInteger |
readStripingBase |
protected java.lang.Thread |
refreshReplicationInformationTask |
protected java.util.List<OperationMetadata> |
replicationDestinations |
protected java.lang.Object |
replicationLock |
Modifier | Constructor and Description |
---|---|
protected |
ReplicationInformerBase(Convention conventions,
HttpJsonRequestFactory requestFactory,
int delayTime) |
Modifier and Type | Method and Description |
---|---|
void |
addFailoverStatusChanged(EventHandler<ReplicationInformer.FailoverStatusChangedEventArgs> event) |
protected void |
assertValidOperation(HttpMethods method,
java.lang.Exception error) |
abstract void |
clearReplicationInformationLocalCache(T client)
Clears the replication information local cache.
|
void |
dispose() |
<S> S |
executeWithReplication(HttpMethods method,
java.lang.String primaryUrl,
OperationCredentials primaryCredentials,
int currentRequest,
int currentReadStripingBase,
Function1<OperationMetadata,S> operation) |
void |
forceCheck(java.lang.String primaryUrl,
boolean shouldForceCheck) |
int |
getDelayTimeInMiliSec() |
java.util.concurrent.atomic.AtomicLong |
getFailureCount(java.lang.String operationUrl)
Get the current failure count for the url
|
java.util.Date |
getFailureLastCheck(java.lang.String operationUrl)
Get failure last check time for the url
|
protected ReplicationInformerBase.FailureCounter |
getHolder(java.lang.String operationUrl) |
int |
getReadStripingBase() |
java.util.List<OperationMetadata> |
getReplicationDestinations() |
java.util.List<OperationMetadata> |
getReplicationDestinationsUrls() |
protected abstract java.lang.String |
getServerCheckUrl(java.lang.String baseUrl) |
void |
incrementFailureCount(java.lang.String operationUrl) |
boolean |
isFirstFailure(java.lang.String operationUrl) |
boolean |
isHttpStatus(java.lang.Exception e,
int... httpStatusCode) |
protected static boolean |
isInvalidDestinationsDocument(JsonDocument document) |
boolean |
isServerDown(java.lang.Exception e,
Reference<java.lang.Boolean> timeout) |
void |
removeFailoverStatusChanged(EventHandler<ReplicationInformer.FailoverStatusChangedEventArgs> event) |
void |
resetFailureCount(java.lang.String operationUrl) |
void |
setDelayTimeInMiliSec(int delayTimeInMiliSec) |
boolean |
shouldExecuteUsing(OperationMetadata operationMetadata,
OperationMetadata primaryOperation,
int currentRequest,
HttpMethods method,
boolean primary,
java.lang.Exception error) |
protected <S> ReplicationInformerBase.OperationResult<S> |
tryOperation(Function1<OperationMetadata,S> operation,
OperationMetadata operationMetadata,
OperationMetadata primaryOperationMetadata,
boolean avoidThrowing) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
refreshReplicationInformation
protected static ILog log
protected boolean firstTime
protected Convention conventions
protected java.util.Date lastReplicationUpdate
protected final java.lang.Object replicationLock
protected static java.util.concurrent.atomic.AtomicInteger readStripingBase
protected java.util.List<OperationMetadata> replicationDestinations
protected final java.util.Map<java.lang.String,ReplicationInformerBase.FailureCounter> failureCounts
protected java.lang.Thread refreshReplicationInformationTask
protected java.util.List<EventHandler<ReplicationInformer.FailoverStatusChangedEventArgs>> failoverStatusChanged
protected ReplicationInformerBase(Convention conventions, HttpJsonRequestFactory requestFactory, int delayTime)
public abstract void clearReplicationInformationLocalCache(T client)
IReplicationInformerBase
clearReplicationInformationLocalCache
in interface IReplicationInformerBase<T>
public int getDelayTimeInMiliSec()
getDelayTimeInMiliSec
in interface IReplicationInformerBase<T>
public void setDelayTimeInMiliSec(int delayTimeInMiliSec)
setDelayTimeInMiliSec
in interface IReplicationInformerBase<T>
public void addFailoverStatusChanged(EventHandler<ReplicationInformer.FailoverStatusChangedEventArgs> event)
addFailoverStatusChanged
in interface IReplicationInformerBase<T>
public void removeFailoverStatusChanged(EventHandler<ReplicationInformer.FailoverStatusChangedEventArgs> event)
removeFailoverStatusChanged
in interface IReplicationInformerBase<T>
public java.util.List<OperationMetadata> getReplicationDestinations()
getReplicationDestinations
in interface IReplicationInformerBase<T>
public java.util.List<OperationMetadata> getReplicationDestinationsUrls()
getReplicationDestinationsUrls
in interface IReplicationInformerBase<T>
public java.util.concurrent.atomic.AtomicLong getFailureCount(java.lang.String operationUrl)
IReplicationInformerBase
getFailureCount
in interface IReplicationInformerBase<T>
public java.util.Date getFailureLastCheck(java.lang.String operationUrl)
IReplicationInformerBase
getFailureLastCheck
in interface IReplicationInformerBase<T>
public boolean shouldExecuteUsing(OperationMetadata operationMetadata, OperationMetadata primaryOperation, int currentRequest, HttpMethods method, boolean primary, java.lang.Exception error)
protected abstract java.lang.String getServerCheckUrl(java.lang.String baseUrl)
protected void assertValidOperation(HttpMethods method, java.lang.Exception error)
protected ReplicationInformerBase.FailureCounter getHolder(java.lang.String operationUrl)
public boolean isFirstFailure(java.lang.String operationUrl)
public void incrementFailureCount(java.lang.String operationUrl)
protected static boolean isInvalidDestinationsDocument(JsonDocument document)
public void resetFailureCount(java.lang.String operationUrl)
public int getReadStripingBase()
getReadStripingBase
in interface IReplicationInformerBase<T>
public <S> S executeWithReplication(HttpMethods method, java.lang.String primaryUrl, OperationCredentials primaryCredentials, int currentRequest, int currentReadStripingBase, Function1<OperationMetadata,S> operation) throws ServerClientException
executeWithReplication
in interface IReplicationInformerBase<T>
ServerClientException
protected <S> ReplicationInformerBase.OperationResult<S> tryOperation(Function1<OperationMetadata,S> operation, OperationMetadata operationMetadata, OperationMetadata primaryOperationMetadata, boolean avoidThrowing)
public boolean isHttpStatus(java.lang.Exception e, int... httpStatusCode)
isHttpStatus
in interface IReplicationInformerBase<T>
public boolean isServerDown(java.lang.Exception e, Reference<java.lang.Boolean> timeout)
isServerDown
in interface IReplicationInformerBase<T>
public void dispose() throws java.lang.InterruptedException
java.lang.InterruptedException
public void forceCheck(java.lang.String primaryUrl, boolean shouldForceCheck)
forceCheck
in interface IReplicationInformerBase<T>
Copyright © 2014. All Rights Reserved.