org.apache.activemq.pool
Class PooledConnection

java.lang.Object
  extended by org.apache.activemq.pool.PooledConnection
All Implemented Interfaces:
javax.jms.Connection, javax.jms.QueueConnection, javax.jms.TopicConnection, Closeable, EnhancedConnection

public class PooledConnection
extends java.lang.Object
implements javax.jms.TopicConnection, javax.jms.QueueConnection, EnhancedConnection

Represents a proxy Connection which is-a TopicConnection and QueueConnection which is pooled and on close() will return itself to the sessionPool. NOTE this implementation is only intended for use when sending messages. It does not deal with pooling of consumers; for that look at a library like Jencks such as in this example


Constructor Summary
PooledConnection(ConnectionPool pool)
           
 
Method Summary
protected  void assertNotClosed()
           
protected  void cleanupConnectionTemporaryDestinations()
          Remove all of the temporary destinations created for this connection.
 void close()
          Closes a JMS object.
 javax.jms.ConnectionConsumer createConnectionConsumer(javax.jms.Destination destination, java.lang.String selector, javax.jms.ServerSessionPool serverSessionPool, int maxMessages)
           
 javax.jms.ConnectionConsumer createConnectionConsumer(javax.jms.Queue queue, java.lang.String selector, javax.jms.ServerSessionPool serverSessionPool, int maxMessages)
           
 javax.jms.ConnectionConsumer createConnectionConsumer(javax.jms.Topic topic, java.lang.String s, javax.jms.ServerSessionPool serverSessionPool, int maxMessages)
           
 javax.jms.ConnectionConsumer createDurableConnectionConsumer(javax.jms.Topic topic, java.lang.String selector, java.lang.String s1, javax.jms.ServerSessionPool serverSessionPool, int i)
           
 javax.jms.QueueSession createQueueSession(boolean transacted, int ackMode)
           
 javax.jms.Session createSession(boolean transacted, int ackMode)
           
protected  ActiveMQSession createSession(SessionKey key)
           
 javax.jms.TopicSession createTopicSession(boolean transacted, int ackMode)
           
 java.lang.String getClientID()
           
 ActiveMQConnection getConnection()
           
 DestinationSource getDestinationSource()
          Returns the DestinationSource object which can be used to listen to destinations being created or destroyed or to enquire about the current destinations available on the broker
 javax.jms.ExceptionListener getExceptionListener()
           
 javax.jms.ConnectionMetaData getMetaData()
           
 PooledConnection newInstance()
          Factory method to create a new instance.
 void setClientID(java.lang.String clientID)
           
 void setExceptionListener(javax.jms.ExceptionListener exceptionListener)
           
 void start()
           
 void stop()
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

PooledConnection

public PooledConnection(ConnectionPool pool)
Method Detail

newInstance

public PooledConnection newInstance()
Factory method to create a new instance.


close

public void close()
           throws javax.jms.JMSException
Description copied from interface: Closeable
Closes a JMS object.

Many JMS objects are closeable such as Connections, Sessions, Consumers and Producers.

Specified by:
close in interface javax.jms.Connection
Specified by:
close in interface Closeable
Throws:
javax.jms.JMSException - if the JMS provider fails to close the object due to some internal error.

start

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

stop

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

createConnectionConsumer

public javax.jms.ConnectionConsumer createConnectionConsumer(javax.jms.Destination destination,
                                                             java.lang.String selector,
                                                             javax.jms.ServerSessionPool serverSessionPool,
                                                             int maxMessages)
                                                      throws javax.jms.JMSException
Specified by:
createConnectionConsumer in interface javax.jms.Connection
Throws:
javax.jms.JMSException

createConnectionConsumer

public javax.jms.ConnectionConsumer createConnectionConsumer(javax.jms.Topic topic,
                                                             java.lang.String s,
                                                             javax.jms.ServerSessionPool serverSessionPool,
                                                             int maxMessages)
                                                      throws javax.jms.JMSException
Specified by:
createConnectionConsumer in interface javax.jms.TopicConnection
Throws:
javax.jms.JMSException

createDurableConnectionConsumer

public javax.jms.ConnectionConsumer createDurableConnectionConsumer(javax.jms.Topic topic,
                                                                    java.lang.String selector,
                                                                    java.lang.String s1,
                                                                    javax.jms.ServerSessionPool serverSessionPool,
                                                                    int i)
                                                             throws javax.jms.JMSException
Specified by:
createDurableConnectionConsumer in interface javax.jms.Connection
Specified by:
createDurableConnectionConsumer in interface javax.jms.TopicConnection
Throws:
javax.jms.JMSException

getClientID

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

getExceptionListener

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

getMetaData

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

setExceptionListener

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

setClientID

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

createConnectionConsumer

public javax.jms.ConnectionConsumer createConnectionConsumer(javax.jms.Queue queue,
                                                             java.lang.String selector,
                                                             javax.jms.ServerSessionPool serverSessionPool,
                                                             int maxMessages)
                                                      throws javax.jms.JMSException
Specified by:
createConnectionConsumer in interface javax.jms.QueueConnection
Throws:
javax.jms.JMSException

createQueueSession

public javax.jms.QueueSession createQueueSession(boolean transacted,
                                                 int ackMode)
                                          throws javax.jms.JMSException
Specified by:
createQueueSession in interface javax.jms.QueueConnection
Throws:
javax.jms.JMSException

createTopicSession

public javax.jms.TopicSession createTopicSession(boolean transacted,
                                                 int ackMode)
                                          throws javax.jms.JMSException
Specified by:
createTopicSession in interface javax.jms.TopicConnection
Throws:
javax.jms.JMSException

createSession

public javax.jms.Session createSession(boolean transacted,
                                       int ackMode)
                                throws javax.jms.JMSException
Specified by:
createSession in interface javax.jms.Connection
Throws:
javax.jms.JMSException

getDestinationSource

public DestinationSource getDestinationSource()
                                       throws javax.jms.JMSException
Description copied from interface: EnhancedConnection
Returns the DestinationSource object which can be used to listen to destinations being created or destroyed or to enquire about the current destinations available on the broker

Specified by:
getDestinationSource in interface EnhancedConnection
Returns:
a lazily created destination source
Throws:
javax.jms.JMSException

getConnection

public ActiveMQConnection getConnection()
                                 throws javax.jms.JMSException
Throws:
javax.jms.JMSException

assertNotClosed

protected void assertNotClosed()
                        throws AlreadyClosedException
Throws:
AlreadyClosedException

createSession

protected ActiveMQSession createSession(SessionKey key)
                                 throws javax.jms.JMSException
Throws:
javax.jms.JMSException

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

cleanupConnectionTemporaryDestinations

protected void cleanupConnectionTemporaryDestinations()
Remove all of the temporary destinations created for this connection. This is important since the underlying connection may be reused over a long period of time, accumulating all of the temporary destinations from each use. However, from the perspective of the lifecycle from the client's view, close() closes the connection and, therefore, deletes all of the temporary destinations created.



Copyright © 2005-2015. All Rights Reserved.