Class DiscoveryProvider

  • All Implemented Interfaces:
    DiscoveryListener, org.apache.qpid.jms.provider.Provider, org.apache.qpid.jms.provider.ProviderListener

    public class DiscoveryProvider
    extends org.apache.qpid.jms.provider.ProviderWrapper<org.apache.qpid.jms.provider.failover.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​(java.net.URI discoveryUri, org.apache.qpid.jms.provider.failover.FailoverProvider next)
      Creates a new instance of the DiscoveryProvider.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void close()  
      java.util.List<DiscoveryAgent> getDiscoveryAgents()  
      java.net.URI getDiscoveryURI()  
      void onConnectionInterrupted​(java.net.URI remoteURI)  
      void onConnectionRestored​(java.net.URI remoteURI)  
      void onServiceAdd​(java.net.URI remoteURI)
      Called when a DiscoveryAgent becomes aware of a new remote peer.
      void onServiceRemove​(java.net.URI remoteURI)
      Called when a DiscoveryAgent can no longer detect a previously known remote peer.
      void setDiscoveryAgents​(java.util.List<DiscoveryAgent> agents)
      Sets the discovery agents used by this provider to locate remote peer instance.
      void start()  
      • 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
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • DiscoveryProvider

        public DiscoveryProvider​(java.net.URI discoveryUri,
                                 org.apache.qpid.jms.provider.failover.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 org.apache.qpid.jms.provider.ProviderException,
                          java.lang.IllegalStateException
        Specified by:
        start in interface org.apache.qpid.jms.provider.Provider
        Overrides:
        start in class org.apache.qpid.jms.provider.ProviderWrapper<org.apache.qpid.jms.provider.failover.FailoverProvider>
        Throws:
        org.apache.qpid.jms.provider.ProviderException
        java.lang.IllegalStateException
      • close

        public void close()
        Specified by:
        close in interface org.apache.qpid.jms.provider.Provider
        Overrides:
        close in class org.apache.qpid.jms.provider.ProviderWrapper<org.apache.qpid.jms.provider.failover.FailoverProvider>
      • getDiscoveryURI

        public java.net.URI getDiscoveryURI()
        Returns:
        the original URI used to configure this DiscoveryProvider.
      • getDiscoveryAgents

        public java.util.List<DiscoveryAgent> getDiscoveryAgents()
        Returns:
        a list of configured DiscoveryAgent instances used by this DiscoveryProvider.
      • setDiscoveryAgents

        public void setDiscoveryAgents​(java.util.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​(java.net.URI remoteURI)
        Description copied from interface: DiscoveryListener
        Called when a DiscoveryAgent becomes aware of a new remote peer.
        Specified by:
        onServiceAdd in interface DiscoveryListener
        Parameters:
        remoteURI - the URI of the newly discovered peer.
      • onServiceRemove

        public void onServiceRemove​(java.net.URI remoteURI)
        Description copied from interface: DiscoveryListener
        Called when a DiscoveryAgent can no longer detect a previously known remote peer.
        Specified by:
        onServiceRemove in interface DiscoveryListener
        Parameters:
        remoteURI - the URI of the previously discovered peer that is no longer active.
      • onConnectionInterrupted

        public void onConnectionInterrupted​(java.net.URI remoteURI)
        Specified by:
        onConnectionInterrupted in interface org.apache.qpid.jms.provider.ProviderListener
        Overrides:
        onConnectionInterrupted in class org.apache.qpid.jms.provider.ProviderWrapper<org.apache.qpid.jms.provider.failover.FailoverProvider>
      • onConnectionRestored

        public void onConnectionRestored​(java.net.URI remoteURI)
        Specified by:
        onConnectionRestored in interface org.apache.qpid.jms.provider.ProviderListener
        Overrides:
        onConnectionRestored in class org.apache.qpid.jms.provider.ProviderWrapper<org.apache.qpid.jms.provider.failover.FailoverProvider>