Class BroadcastTransportManager

  • Direct Known Subclasses:
    JMSPublishingTransportManager

    public abstract class BroadcastTransportManager
    extends TransportManager

    Purpose: Base class transport manager for broadcasting RCM protocols: JMS and Oc4jJGroups.

    Description: The class doesn't use DiscoveryManager - instead the class (and it's ancestors) implement createConnections method that creates all the necessary connections. This method is called by RemoteCommendManager during initialization.

    Author:
    Andrei Ilitchev
    Since:
    OracleAS TopLink 11g (11.1.1)
    • Field Detail

      • topicName

        protected String topicName
    • Constructor Detail

      • BroadcastTransportManager

        public BroadcastTransportManager()
    • Method Detail

      • createDiscoveryManager

        public DiscoveryManager createDiscoveryManager()
        ADVANCED: BroadcastTransportManager doesn't use DiscoveryManager - instead RemoteCommandManager calls createConnections method during initialization.
        Overrides:
        createDiscoveryManager in class TransportManager
      • createConnections

        public void createConnections()
        INTERNAL: BroadcastTransportManager doesn't use DiscoveryManager (createDiscoveryManager method returns null) therefore this method called during RCM initialization to create all the necessary connections. BroadcastTransportManager ancestors may need to override this method.
        Overrides:
        createConnections in class TransportManager
      • createConnection

        public org.eclipse.persistence.internal.sessions.coordination.RemoteConnection createConnection​(ServiceId serviceId)
        INTERNAL: No-op implementation of super abstract method since there is only one connection to a known topic.
        Specified by:
        createConnection in class TransportManager
      • addConnectionToExternalService

        public void addConnectionToExternalService​(org.eclipse.persistence.internal.sessions.coordination.RemoteConnection connection)
        INTERNAL: Add a remote Connection to a remote service.
        Overrides:
        addConnectionToExternalService in class TransportManager
      • connectBackToRemote

        public void connectBackToRemote​(org.eclipse.persistence.internal.sessions.coordination.RemoteConnection connection)
                                 throws Exception
        INTERNAL: Prepare receiving messages by registering this connection as a listener to the Subscriber. This method is called by the remote command manager when this service should connect back ('handshake') to the service from which this remote connection came.
        Overrides:
        connectBackToRemote in class TransportManager
        Throws:
        Exception
      • getTopicName

        public String getTopicName()
        PUBLIC: Return the topic name that this TransportManager will be connecting to.
      • setTopicName

        public void setTopicName​(String newTopicName)
        PUBLIC: Configure the Topic name for the Topic that this TransportManager will be connecting to. For some subclasses (JMS) this is a required setting and must be set; for other (Oc4jJGroups) it's typically not set.