Class DiscoveryProvider
- java.lang.Object
-
- org.apache.qpid.jms.provider.ProviderWrapper<FailoverProvider>
-
- org.apache.qpid.jms.provider.discovery.DiscoveryProvider
-
- All Implemented Interfaces:
DiscoveryListener,Provider,ProviderListener
public class DiscoveryProvider extends ProviderWrapper<FailoverProvider> implements DiscoveryListener
An Provider instance that wraps the FailoverProvider and listens for events about discovered remote peers using a configured set of DiscoveryAgent instance.
-
-
Field Summary
-
Fields inherited from class org.apache.qpid.jms.provider.ProviderWrapper
listener, next
-
-
Constructor Summary
Constructors Constructor Description DiscoveryProvider(URI discoveryUri, FailoverProvider next)Creates a new instance of the DiscoveryProvider.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()List<DiscoveryAgent>getDiscoveryAgents()URIgetDiscoveryURI()voidonConnectionInterrupted(URI remoteURI)voidonConnectionRestored(URI remoteURI)voidonServiceAdd(URI remoteURI)Called when a DiscoveryAgent becomes aware of a new remote peer.voidonServiceRemove(URI remoteURI)Called when a DiscoveryAgent can no longer detect a previously known remote peer.voidsetDiscoveryAgents(List<DiscoveryAgent> agents)Sets the discovery agents used by this provider to locate remote peer instance.voidstart()-
Methods inherited from class org.apache.qpid.jms.provider.ProviderWrapper
acknowledge, acknowledge, commit, connect, create, destroy, getAlternateURIs, getMessageFactory, getNext, getProviderListener, getRemoteURI, newProviderFuture, newProviderFuture, onCompletedMessageSend, onConnectionEstablished, onConnectionFailure, onConnectionRecovered, onConnectionRecovery, onFailedMessageSend, onInboundMessage, onProviderException, onResourceClosed, pull, recover, rollback, send, setProviderListener, start, stop, unsubscribe
-
-
-
-
Constructor Detail
-
DiscoveryProvider
public DiscoveryProvider(URI discoveryUri, FailoverProvider next)
Creates a new instance of the DiscoveryProvider. The Provider is created and initialized with the original URI used to create it, and an instance of a FailoverProcider which it will use to initiate and maintain connections to the discovered peers.- Parameters:
discoveryUri- The URI that configures the discovery provider.next- The FailoverProvider that will be used to manage connections.
-
-
Method Detail
-
start
public void start() throws ProviderException, IllegalStateException- Specified by:
startin interfaceProvider- Overrides:
startin classProviderWrapper<FailoverProvider>- Throws:
ProviderExceptionIllegalStateException
-
close
public void close()
- Specified by:
closein interfaceProvider- Overrides:
closein classProviderWrapper<FailoverProvider>
-
getDiscoveryURI
public URI getDiscoveryURI()
- Returns:
- the original URI used to configure this DiscoveryProvider.
-
getDiscoveryAgents
public List<DiscoveryAgent> getDiscoveryAgents()
- Returns:
- a list of configured DiscoveryAgent instances used by this DiscoveryProvider.
-
setDiscoveryAgents
public void setDiscoveryAgents(List<DiscoveryAgent> agents)
Sets the discovery agents used by this provider to locate remote peer instance.- Parameters:
agents- the agents to use to discover remote peers
-
onServiceAdd
public void onServiceAdd(URI remoteURI)
Description copied from interface:DiscoveryListenerCalled when a DiscoveryAgent becomes aware of a new remote peer.- Specified by:
onServiceAddin interfaceDiscoveryListener- Parameters:
remoteURI- the URI of the newly discovered peer.
-
onServiceRemove
public void onServiceRemove(URI remoteURI)
Description copied from interface:DiscoveryListenerCalled when a DiscoveryAgent can no longer detect a previously known remote peer.- Specified by:
onServiceRemovein interfaceDiscoveryListener- Parameters:
remoteURI- the URI of the previously discovered peer that is no longer active.
-
onConnectionInterrupted
public void onConnectionInterrupted(URI remoteURI)
- Specified by:
onConnectionInterruptedin interfaceProviderListener- Overrides:
onConnectionInterruptedin classProviderWrapper<FailoverProvider>
-
onConnectionRestored
public void onConnectionRestored(URI remoteURI)
- Specified by:
onConnectionRestoredin interfaceProviderListener- Overrides:
onConnectionRestoredin classProviderWrapper<FailoverProvider>
-
-