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 class
Entry in the list of CASes pending reply. -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected String
static final int
static final int
static final int
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
addCasToOutstandingList
(String aCasReferenceId) Adds a given Cas ID to the list of CASes pending reply.int
addCasToPendingDispatchList
(String aCasReferenceId) Adds given CAS ID to the list of CASes pending dispatch.void
addNewCasToOutstandingList
(String aCasReferenceId) void
addNewCasToOutstandingList
(String aCasReferenceId, boolean isCasGeneratingChildren) void
Cancels current timervoid
cleanup()
Cancels timer and clears a list of CASes pending replyint
int
long
abstract String
long
Returns anEndpoint
objectlong
getKey()
Returns delegate keyint
getState()
abstract void
handleError
(Exception e, ErrorContext errorContext) boolean
void
incrementRetryCount
(String aCasReferenceId) Increments retry countboolean
boolean
isGeneratingChildrenFrom
(String aCasReferenceId) boolean
removeCasFromOutstandingList
(String aCasReferenceId) RemovesDelegate.DelegateEntry
from the list of CASes pending reply.boolean
removeCasFromPendingDispatchList
(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.DelegateEntry
from the list of CASes pending reply.Removes the oldest entry from the list of CASes pending dispatch.void
void
Forces Timer restart for the oldest CAS sitting in the list of CASes pending reply.void
void
setCasProcessTimeout
(long casProcessTimeout) void
void
setCpcTimeout
(long cpcTimeout) void
setEndpoint
(Endpoint anEndpoint) Sets anEndpoint
objectvoid
setGeneratingChildrenFrom
(String aCasReferenceId, boolean tOf) void
setGetMetaTimeout
(long getMetaTimeout) void
setNotificationEndpoint
(Endpoint notificationEndpoint) void
setState
(int aState) void
Starts 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 anEndpoint
object- Parameters:
anEndpoint
- - an endpoint object
-
getEndpoint
Returns anEndpoint
object- 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.DelegateEntry
from 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.DelegateEntry
from 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
-