org.exolab.jms.client
Class JmsConnection

java.lang.Object
  |
  +--org.exolab.jms.client.JmsConnection
All Implemented Interfaces:
javax.jms.Connection
Direct Known Subclasses:
JmsQueueConnection, JmsTopicConnection

public abstract class JmsConnection
extends java.lang.Object
implements javax.jms.Connection

The JmsConnection is a client representation of a server side connection. It establishes a connection to the remote JMS server without allocating remote resources. Since the remote connection is stateless it is shared by JmsConnection objects in the same VM.

Version:
$Revision: 1.25 $ $Date: 2003/08/07 21:48:25 $
Author:
Jim Alateras, Tim Anderson

Constructor Summary
protected JmsConnection(JmsConnectionFactory factory, java.lang.String id, java.lang.String username, java.lang.String password)
          Instantiate an instance of this class with the specified client identity.
 
Method Summary
protected  void addSession(JmsSession session)
          Add the specified session to the list of managed sessions
 void close()
           
 void destroy()
          Release all resources used by this connection, including supporting sessions
protected  void ensureOpen()
          Verifies that the connection is open
 java.lang.String getClientID()
           
 java.lang.String getConnectionId()
          Return the identity of this connection.
 javax.jms.ExceptionListener getExceptionListener()
           
 javax.jms.ConnectionMetaData getMetaData()
           
protected  java.util.Enumeration getSessions()
          Returns an enumeration of all sessions managed by this connection
protected  boolean isManaged(JmsSession session)
          Test whether the specified session is managed by this connection
protected  boolean isStopped()
          Return the running state of the connection
 void notifyExceptionListener(javax.jms.JMSException message)
          Notify the exception listener of a JMSException.
protected  void removeSession(JmsSession session)
          Remove the specified session from the list of managed sessions.
 void setClientID(java.lang.String id)
           
 void setExceptionListener(javax.jms.ExceptionListener listener)
           
protected  void setModified()
          Flags this connection as being modified.
 void start()
           
 void stop()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JmsConnection

protected JmsConnection(JmsConnectionFactory factory,
                        java.lang.String id,
                        java.lang.String username,
                        java.lang.String password)
                 throws javax.jms.JMSException
Instantiate an instance of this class with the specified client identity. If there identity is null then the JMSException exception is raised.

The constructor will also attempt to retrieve a connection to the remote JMS Server.

Parameters:
factory - entity responsible for creating this object
id - client identity
username - the client username
password - the client password
Throws:
javax.jms.JMSException -  
Method Detail

getClientID

public java.lang.String getClientID()
                             throws javax.jms.JMSException
Specified by:
getClientID in interface javax.jms.Connection

setClientID

public void setClientID(java.lang.String id)
                 throws javax.jms.JMSException
Specified by:
setClientID in interface javax.jms.Connection

getMetaData

public javax.jms.ConnectionMetaData getMetaData()
                                         throws javax.jms.JMSException
Specified by:
getMetaData in interface javax.jms.Connection

getExceptionListener

public javax.jms.ExceptionListener getExceptionListener()
                                                 throws javax.jms.JMSException
Specified by:
getExceptionListener in interface javax.jms.Connection

setExceptionListener

public void setExceptionListener(javax.jms.ExceptionListener listener)
                          throws javax.jms.JMSException
Specified by:
setExceptionListener in interface javax.jms.Connection

notifyExceptionListener

public void notifyExceptionListener(javax.jms.JMSException message)
Notify the exception listener of a JMSException. If the exception listener is not set then ignore it
Parameters:
message - message to deliver

start

public void start()
           throws javax.jms.JMSException
Specified by:
start in interface javax.jms.Connection

stop

public void stop()
          throws javax.jms.JMSException
Specified by:
stop in interface javax.jms.Connection

close

public void close()
           throws javax.jms.JMSException
Specified by:
close in interface javax.jms.Connection

destroy

public void destroy()
             throws javax.jms.JMSException
Release all resources used by this connection, including supporting sessions
Throws:
javax.jms.JMSException - - error completing this request

getConnectionId

public java.lang.String getConnectionId()
Return the identity of this connection. An identity is created by the server and is unique within that servers environment
Returns:
String

addSession

protected void addSession(JmsSession session)
Add the specified session to the list of managed sessions
Parameters:
session - session to register

removeSession

protected void removeSession(JmsSession session)
Remove the specified session from the list of managed sessions. If it doesn't exist then fail silently
Parameters:
session - session to remove

isManaged

protected boolean isManaged(JmsSession session)
Test whether the specified session is managed by this connection
Parameters:
session - session to test against
Returns:
boolean true if managed

getSessions

protected java.util.Enumeration getSessions()
Returns an enumeration of all sessions managed by this connection
Returns:
an enumeration of all sessions managed by this connection

isStopped

protected boolean isStopped()
Return the running state of the connection
Returns:
true if stopped

setModified

protected void setModified()
Flags this connection as being modified. Subsequent attempts to invoke setClientID(java.lang.String) will result in an IllegalStateException being thrown

ensureOpen

protected void ensureOpen()
                   throws javax.jms.IllegalStateException
Verifies that the connection is open
Throws:
javax.jms.IllegalStateException - if the connection is closed


Copyright © 1999-2003 The OpenJMS Group. All Rights Reserved.