public final class DefaultClientSubscription extends TimedEntry implements ClientSubscriptionInternal, EprInfoHandler.EprInfoProvider
| Modifier and Type | Field and Description |
|---|---|
EprInfoSet |
subscriptionManagerEprInfos |
| Constructor and Description |
|---|
DefaultClientSubscription(EventSink sink,
java.lang.String clientSubscriptionId,
EndpointReference subscriptionManagerEpr,
java.lang.String comManId,
long duration,
Service service,
CredentialInfo credentialInfo)
Constructor.
|
DefaultClientSubscription(EventSink sink,
java.lang.String clientSubscriptionId,
EprInfoHandler.EprInfoProvider eprInfoProvider,
Service service,
CredentialInfo credentialInfo) |
| Modifier and Type | Method and Description |
|---|---|
void |
dispose()
Performs final clean-up on this client subscription instance.
|
java.lang.String |
getClientSubscriptionId() |
java.lang.String |
getCommunicationManagerId()
returns the ID of the communication manager used to communicate with the subscription manager
corresponding to this client subscription instance.
|
java.lang.String |
getDebugString() |
Iterator |
getEprInfos() |
EventSink |
getEventSink()
Returns the event sink, which receives subscribed messages.
|
XAddressInfo |
getNextXAddressInfoAfterFailureForSubscriptionManager(URI transportAddress,
int syncHostedBlockVersion) |
DataStructure |
getOutgoingDiscoveryInfos() |
Service |
getService()
Returns the subscribed service.
|
java.lang.String |
getServiceSubscriptionId()
Returns the server-side subscription identifier for this subscription (in terms of WS-Eventing, this is the
wse:Identifier URI).
|
long |
getStatus()
Get the duration until expiration of this subscription.
|
EprInfo |
getSubscriptionManagerAddressInfo()
Returns the EprInfo of the server-side subscription manager for this subscription.
|
long |
getTimeoutTime()
Get system time in millis from the epoch when subscription will terminate.
|
void |
register(long duration,
EndpointReference subscriptionManagerEpr,
java.lang.String comMgr)
Only for initial registration, if the subscriptionManager is not known add creation of the
ClientSubscription.
|
long |
renew(long duration)
Renews subscription.
|
void |
renewInternal(long newDuration)
Called after a renew on this client subscription.
|
protected void |
timedOut()
Runs what should be done at time out.
|
void |
unsubscribe()
Terminates this subscription.
|
isDisabled, toStringpublic EprInfoSet subscriptionManagerEprInfos
public DefaultClientSubscription(EventSink sink, java.lang.String clientSubscriptionId, EndpointReference subscriptionManagerEpr, java.lang.String comManId, long duration, Service service, CredentialInfo credentialInfo)
sink - clientSubscriptionId - serviceSubscriptionId - duration - servRef - public DefaultClientSubscription(EventSink sink, java.lang.String clientSubscriptionId, EprInfoHandler.EprInfoProvider eprInfoProvider, Service service, CredentialInfo credentialInfo)
public void register(long duration,
EndpointReference subscriptionManagerEpr,
java.lang.String comMgr)
ClientSubscriptionregister in interface ClientSubscriptionpublic DataStructure getOutgoingDiscoveryInfos()
getOutgoingDiscoveryInfos in interface EprInfoHandler.EprInfoProviderpublic Iterator getEprInfos()
getEprInfos in interface EprInfoHandler.EprInfoProviderpublic java.lang.String getDebugString()
getDebugString in interface EprInfoHandler.EprInfoProviderpublic java.lang.String getClientSubscriptionId()
getClientSubscriptionId in interface ClientSubscriptionpublic long getTimeoutTime()
ClientSubscriptiongetTimeoutTime in interface ClientSubscriptionpublic EprInfo getSubscriptionManagerAddressInfo()
ClientSubscription
Be aware that the xAddress of the returned EprInfo may be null if
the endpoint reference is not a transport address
getSubscriptionManagerAddressInfo in interface ClientSubscriptionEprInfo of this subscription's subscription managerpublic XAddressInfo getNextXAddressInfoAfterFailureForSubscriptionManager(URI transportAddress, int syncHostedBlockVersion) throws CommunicationException
getNextXAddressInfoAfterFailureForSubscriptionManager in interface ClientSubscriptionCommunicationExceptionpublic java.lang.String getServiceSubscriptionId()
ClientSubscriptiongetServiceSubscriptionId in interface ClientSubscriptionpublic java.lang.String getCommunicationManagerId()
ClientSubscriptiongetCommunicationManagerId in interface ClientSubscriptionpublic EventSink getEventSink()
ClientSubscriptiongetEventSink in interface ClientSubscriptionpublic Service getService()
ClientSubscriptiongetService in interface ClientSubscriptionpublic long renew(long duration)
throws EventingException,
java.io.IOException,
CommunicationException
ClientSubscriptionrenew in interface ClientSubscriptionduration - new duration of subscription0 in case the subscription doesn't expire at allEventingException - in case this subscription has already expired or an invalid duration was specifiedCommunicationException - if this subscription refers to a remote service and contacting it timed outjava.io.IOExceptionpublic void unsubscribe()
throws EventingException,
java.io.IOException,
CommunicationException
ClientSubscriptionunsubscribe in interface ClientSubscriptionEventingException - if the subscription has already expiredCommunicationException - if this subscription refers to a remote service and contacting it timed outjava.io.IOExceptionpublic long getStatus()
throws EventingException,
java.io.IOException,
CommunicationException
ClientSubscriptiongetStatus in interface ClientSubscriptionEventingException - if the subscription already expiredCommunicationException - if this subscription refers to a remote service and contacting it timed outjava.io.IOExceptionpublic void renewInternal(long newDuration)
ClientSubscriptionInternalrenewInternal in interface ClientSubscriptionInternalnewDuration - the new durationpublic void dispose()
ClientSubscriptionInternal
Warning! This method is not intended to be called from application code! It is used internally when a subscription instance is not needed anymore.
dispose in interface ClientSubscriptionInternalprotected void timedOut()
TimedEntrytimedOut in class TimedEntry