org.exolab.jms.server
Class ServerConnectionImpl

java.lang.Object
  |
  +--org.exolab.jms.server.ServerConnectionImpl
All Implemented Interfaces:
ServerConnection

public class ServerConnectionImpl
extends java.lang.Object
implements ServerConnection

Server implementation of the javax.jms.Connection interface.

Version:
$Revision: 1.2 $ $Date: 2005/08/30 14:24:26 $
Author:
Jim Alateras, Tim Anderson
See Also:
ServerConnectionManagerImpl

Constructor Summary
protected ServerConnectionImpl(ServerConnectionManagerImpl manager, long connectionId, java.lang.String clientId, MessageManager messages, ConsumerManager consumers, ResourceManager resources, DatabaseService database, Scheduler scheduler)
          Construct a new ServerConnectionImpl.
 
Method Summary
 void close()
          Closes the connection.
 void closed(org.exolab.jms.server.ServerSessionImpl session)
          Notify closure of a session
 ServerSession createSession(int acknowledgeMode, boolean transacted)
          Create a new session
 java.lang.String getClientID()
          Returns the client identifier.
 long getConnectionId()
          Returns the connection identifier.
 void setClientID(java.lang.String clientID)
          Sets the client identifier for this connection.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ServerConnectionImpl

protected ServerConnectionImpl(ServerConnectionManagerImpl manager,
                               long connectionId,
                               java.lang.String clientId,
                               MessageManager messages,
                               ConsumerManager consumers,
                               ResourceManager resources,
                               DatabaseService database,
                               Scheduler scheduler)
Construct a new ServerConnectionImpl.
Parameters:
manager - the connection manager
connectionId - the identifier for this connection
clientId - the client identifier. May be null
messages - the message manager
consumers - the consumer manager
resources - the resource manager
Method Detail

getConnectionId

public long getConnectionId()
Returns the connection identifier.
Specified by:
getConnectionId in interface ServerConnection
Returns:
the connection identifier

getClientID

public java.lang.String getClientID()
Returns the client identifier.
Specified by:
getClientID in interface ServerConnection
Returns:
the client identifier

setClientID

public void setClientID(java.lang.String clientID)
                 throws javax.jms.JMSException
Sets the client identifier for this connection.
Specified by:
setClientID in interface ServerConnection
Parameters:
clientID - the unique client identifier
Throws:
javax.jms.JMSException - if the JMS provider fails to set the client ID for this connection due to some internal error.
javax.jms.InvalidClientIDException - if the JMS client specifies an invalid or duplicate client ID.
java.lang.IllegalStateException - if the JMS client attempts to set a connection's client ID at the wrong time or when it has been administratively configured.

createSession

public ServerSession createSession(int acknowledgeMode,
                                   boolean transacted)
                            throws javax.jms.JMSException
Create a new session
Specified by:
createSession in interface ServerConnection
Parameters:
acknowledgeMode - indicates whether the consumer or the client will acknowledge any messages it receives; ignored if the session is transacted. Legal values are Session.AUTO_ACKNOWLEDGE, Session.CLIENT_ACKNOWLEDGE, and Session.DUPS_OK_ACKNOWLEDGE.
transacted - indicates whether the session is transacted
Returns:
a newly created session
Throws:
javax.jms.JMSException - for any JMS error

close

public void close()
Closes the connection.
Specified by:
close in interface ServerConnection
Following copied from interface: org.exolab.jms.server.ServerConnection
Throws:
javax.jms.JMSException - for any JMS error

closed

public void closed(org.exolab.jms.server.ServerSessionImpl session)
Notify closure of a session
Parameters:
session - the closed session


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