oracle.toplink.remote.jms
Class JMSClusteringService

java.lang.Object
  |
  +--java.lang.Thread
        |
        +--oracle.toplink.remote.AbstractClusteringService
              |
              +--oracle.toplink.remote.AbstractJNDIClusteringService
                    |
                    +--oracle.toplink.remote.jms.JMSClusteringService
All Implemented Interfaces:
java.lang.Runnable

public class JMSClusteringService
extends AbstractJNDIClusteringService

PURPOSE:To Provide a framework for offering customers the ability to automatically connect multiple sessions for synchrnization.

Descripton:This object will connect the TopLink Session to an existing JMS Topic from an existing JMS Connection Factory.

See Also:
CacheSynchronizationManager, oracle.toplink.remote.

Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Constructor Summary
JMSClusteringService(Session session)
          PUBLIC: Creates a JMSClusteringService
 
Method Summary
TypeMethod
 oracle.toplink.internal.remote.RemoteConnection createRemoteConnection()
          ADVANCED: This method should return a remote connection of the appropraite type for use in the synchronization
 oracle.toplink.internal.remote.RemoteConnection createRemoteConnection(java.lang.String sessionId, java.lang.String jndiHostURL)
          ADVANCED: This method should return a remote connection of the appropraite type for use in the synchronization Not Used
 java.net.MulticastSocket getCommunicationSocket()
          ADVANCED: Returns the socket that will be used for the multicast communication.
 java.lang.Object getDispatcher()
          ADVANCED: This is the object that will be placed in JNDI to provide remote synchronization services Not Used.
 oracle.toplink.internal.remote.RemoteConnection getLocalRemoteConnection()
          ADVANCED: This method should return a Remote Connection of the appropriate type that references the Remote dispatcher for this Session NOT USED
 java.lang.String getTopicConnectionFactoryName()
          PUBLIC: Use this method to get the Connection Factory Name for the JMS Topic connections
 java.lang.String getTopicName()
          PUBLIC: return the JMS Topic name for the Topic that this clustering service will be connecting to.
 void registerDispatcher()
          ADVANCED: This method will register the dispatcher for this session in JNDI on the specified host.
 void run()
          This is the main execution method of this class.
 void setTopicConnectionFactoryName(java.lang.String connectionFactoryName)
          PUBLIC: Use this method to set the Connection Factory Name for the JMS Topic connections
 void setTopicName(java.lang.String topicName)
          PUBLIC: sets the JMS Topic name for the Topic that this clustering service will be connecting to.
 void stopListening()
          ADVANCED: Uses to stop the Listener thread for a dropped session
 
Methods inherited from class oracle.toplink.remote.AbstractJNDIClusteringService
getContext, getInitialContextProperties, getPassword, getUserName, setContext, setInitialContextFactoryName, setInitialContextProperties, setLocalHostURL, setPassword, setUserName
 
Methods inherited from class oracle.toplink.remote.AbstractClusteringService
getAnnouncementDelay, getMulticastGroupAddress, getMulticastPort, getSessionId, getTimeToLive, setAnnouncementDelay, setDispatcher, setMulticastGroupAddress, setMulticastPort, setSessionId, setTimeToLive
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getContextClassLoader, getName, getPriority, getThreadGroup, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setName, setPriority, sleep, sleep, start, stop, stop, suspend, toString, yield
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

JMSClusteringService

public JMSClusteringService(Session session)
PUBLIC: Creates a JMSClusteringService
Method Detail

createRemoteConnection

public oracle.toplink.internal.remote.RemoteConnection createRemoteConnection()
                                                                       throws oracle.toplink.remote.jms.JMSException,
                                                                              javax.naming.NamingException
ADVANCED: This method should return a remote connection of the appropraite type for use in the synchronization

createRemoteConnection

public oracle.toplink.internal.remote.RemoteConnection createRemoteConnection(java.lang.String sessionId,
                                                                              java.lang.String jndiHostURL)
ADVANCED: This method should return a remote connection of the appropraite type for use in the synchronization Not Used
Overrides:
createRemoteConnection in class AbstractClusteringService

registerDispatcher

public void registerDispatcher()
ADVANCED: This method will register the dispatcher for this session in JNDI on the specified host. It must register the dispatcher under the SessionId
Overrides:
registerDispatcher in class AbstractClusteringService
Parameters:
jndiHostURL - This is the URL that will be used to register the synchronization service not used

getCommunicationSocket

public java.net.MulticastSocket getCommunicationSocket()
ADVANCED: Returns the socket that will be used for the multicast communication. By default this will be java.net.MulticastSocket Not Used.
Overrides:
getCommunicationSocket in class AbstractClusteringService

getDispatcher

public java.lang.Object getDispatcher()
                               throws java.rmi.RemoteException
ADVANCED: This is the object that will be placed in JNDI to provide remote synchronization services Not Used.
Overrides:
getDispatcher in class AbstractClusteringService

getTopicConnectionFactoryName

public java.lang.String getTopicConnectionFactoryName()
PUBLIC: Use this method to get the Connection Factory Name for the JMS Topic connections

getTopicName

public java.lang.String getTopicName()
PUBLIC: return the JMS Topic name for the Topic that this clustering service will be connecting to.

run

public void run()
This is the main execution method of this class. It will create a socket to listen to and register the dispatcher for this class in JNDI
Overrides:
run in class AbstractClusteringService

getLocalRemoteConnection

public oracle.toplink.internal.remote.RemoteConnection getLocalRemoteConnection()
ADVANCED: This method should return a Remote Connection of the appropriate type that references the Remote dispatcher for this Session NOT USED
Overrides:
getLocalRemoteConnection in class AbstractClusteringService

setTopicConnectionFactoryName

public void setTopicConnectionFactoryName(java.lang.String connectionFactoryName)
PUBLIC: Use this method to set the Connection Factory Name for the JMS Topic connections

setTopicName

public void setTopicName(java.lang.String topicName)
PUBLIC: sets the JMS Topic name for the Topic that this clustering service will be connecting to. This is a required setting and must be set.

stopListening

public void stopListening()
ADVANCED: Uses to stop the Listener thread for a dropped session
Overrides:
stopListening in class AbstractClusteringService