Package org.apache.uima.aae.delegate
Class Delegate
java.lang.Object
org.apache.uima.aae.delegate.Delegate
- Direct Known Subclasses:
ClientServiceDelegate,ControllerDelegate
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classEntry in the list of CASes pending reply. -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Stringstatic final intstatic final intstatic final int -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddCasToOutstandingList(String aCasReferenceId) Adds a given Cas ID to the list of CASes pending reply.intaddCasToPendingDispatchList(String aCasReferenceId) Adds given CAS ID to the list of CASes pending dispatch.voidaddNewCasToOutstandingList(String aCasReferenceId) voidaddNewCasToOutstandingList(String aCasReferenceId, boolean isCasGeneratingChildren) voidCancels current timervoidcleanup()Cancels timer and clears a list of CASes pending replyintintlongabstract StringlongReturns anEndpointobjectlonggetKey()Returns delegate keyintgetState()abstract voidhandleError(Exception e, ErrorContext errorContext) booleanvoidincrementRetryCount(String aCasReferenceId) Increments retry countbooleanbooleanisGeneratingChildrenFrom(String aCasReferenceId) booleanremoveCasFromOutstandingList(String aCasReferenceId) RemovesDelegate.DelegateEntryfrom the list of CASes pending reply.booleanremoveCasFromPendingDispatchList(String aCasReferenceId) Removes an entry from the list of CASes pending dispatch that matches a given CAS Id.A CAS is delayed and placed on this list when the delegate status changes to TIMED_OUT and a PING message is sent to test delegate availability.RemovesDelegate.DelegateEntryfrom the list of CASes pending reply.Removes the oldest entry from the list of CASes pending dispatch.voidvoidForces Timer restart for the oldest CAS sitting in the list of CASes pending reply.voidvoidsetCasProcessTimeout(long casProcessTimeout) voidvoidsetCpcTimeout(long cpcTimeout) voidsetEndpoint(Endpoint anEndpoint) Sets anEndpointobjectvoidsetGeneratingChildrenFrom(String aCasReferenceId, boolean tOf) voidsetGetMetaTimeout(long getMetaTimeout) voidsetNotificationEndpoint(Endpoint notificationEndpoint) voidsetState(int aState) voidStarts GetMeta Request timertoString()
-
Field Details
-
OK_STATE
public static final int OK_STATE- See Also:
-
TIMEOUT_STATE
public static final int TIMEOUT_STATE- See Also:
-
DISABLED_STATE
public static final int DISABLED_STATE- See Also:
-
delegateKey
-
-
Constructor Details
-
Delegate
public Delegate()
-
-
Method Details
-
getNotificationEndpoint
-
setNotificationEndpoint
-
isAwaitingPingReply
public boolean isAwaitingPingReply() -
setAwaitingPingReply
public void setAwaitingPingReply() -
resetAwaitingPingReply
public void resetAwaitingPingReply() -
getKey
Returns delegate key- Returns:
-
setEndpoint
Sets anEndpointobject- Parameters:
anEndpoint- - an endpoint object
-
getEndpoint
Returns anEndpointobject- Returns:
-
restartTimerForOldestCasInOutstandingList
public void restartTimerForOldestCasInOutstandingList()Forces Timer restart for the oldest CAS sitting in the list of CASes pending reply. -
getDelegateCasesPendingReply
-
getDelegateCasesPendingDispatch
-
addNewCasToOutstandingList
-
addNewCasToOutstandingList
-
addCasToOutstandingList
Adds a given Cas ID to the list of CASes pending reply. A new timer will be started to handle delegate's timeout if either: 1) the list of CASes pending reply is empty AND delegate timeout > 0 2) the list already contains the CAS ID AND delegate timeout > 0. This is a retry logic.- Parameters:
aCasReferenceId- - CAS ID to add to pending list if not already there
-
addCasToPendingDispatchList
Adds given CAS ID to the list of CASes pending dispatch. These CASes are delayed due to a questionable state of the delegate that most likely timed out on a previous CAS. When the timeout occurs, the subsequent CASes are queued (delayed) and a GetMeta request is sent to the delegate. When the delegate responds to GetMeta request, the state of the delegate is reset back to normal and the CASes queued (delayed) are immediately send to the delegate.- Parameters:
aCasReferenceId- - CAS ID to add to the delayed list
-
incrementRetryCount
Increments retry count- Parameters:
aCasReferenceId-
-
removeOldestFromPendingDispatchList
Removes the oldest entry from the list of CASes pending dispatch. A CAS is delayed and placed on this list when the delegate status changes to TIMED_OUT and a PING message is sent to test delegate availability. Until the PING message is acked by the delegate OR the PING times out, all CASes are delayed. When the PING is acked by the delegate ALL delayed CASes are sent to the delegate one at a time.- Returns:
- - ID of the oldest CAS in the list
-
removeCasFromPendingDispatchList
Removes an entry from the list of CASes pending dispatch that matches a given CAS Id.A CAS is delayed and placed on this list when the delegate status changes to TIMED_OUT and a PING message is sent to test delegate availability. Until the PING message is acked by the delegate OR the PING times out, all CASes are delayed. When the PING is acked by the delegate ALL delayed CASes are sent to the delegate one at a time.- Returns:
- - ID of the oldest CAS in the list
-
removeCasFromOutstandingList
RemovesDelegate.DelegateEntryfrom the list of CASes pending reply. The entry is removed when either: 1) reply is received from the delegate before the timeout 2) the timeout occurs with no retry 3) an error occurs and the CAS is dropped as part of Error Handling- Parameters:
aCasReferenceId- - id of the CAS to remove from the list
-
removeOldestCasFromOutstandingList
RemovesDelegate.DelegateEntryfrom the list of CASes pending reply. The entry is removed when either: 1) reply is received from the delegate before the timeout 2) the timeout occurs with no retry 3) an error occurs and the CAS is dropped as part of Error Handling- Parameters:
aCasReferenceId- - id of the CAS to remove from the list
-
getOldestCasIdFromOutstandingList
-
cleanup
public void cleanup()Cancels timer and clears a list of CASes pending reply -
getCasPendingReplyListSize
public int getCasPendingReplyListSize() -
getCasPendingDispatchListSize
public int getCasPendingDispatchListSize() -
cancelDelegateTimer
public void cancelDelegateTimer()Cancels current timer -
startGetMetaRequestTimer
public void startGetMetaRequestTimer()Starts GetMeta Request timer -
getCasProcessTimeout
public long getCasProcessTimeout() -
setCasProcessTimeout
public void setCasProcessTimeout(long casProcessTimeout) -
getGetMetaTimeout
public long getGetMetaTimeout() -
setGetMetaTimeout
public void setGetMetaTimeout(long getMetaTimeout) -
getCpcTimeout
public long getCpcTimeout() -
setCpcTimeout
public void setCpcTimeout(long cpcTimeout) -
getState
public int getState() -
setState
public void setState(int aState) -
setConcurrentConsumersOnReplyQueue
public void setConcurrentConsumersOnReplyQueue() -
hasConcurrentConsumersOnReplyQueue
public boolean hasConcurrentConsumersOnReplyQueue() -
isGeneratingChildrenFrom
-
setGeneratingChildrenFrom
-
handleError
-
getComponentName
-
toString
-