public class PooledConnection extends Object implements javax.jms.TopicConnection, javax.jms.QueueConnection
Connection
which is-a TopicConnection
and
QueueConnection
which is pooled and on close()
will return
its reference to the ConnectionPool backing it.
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 exampleModifier and Type | Field and Description |
---|---|
protected ConnectionPool |
pool |
Constructor and Description |
---|
PooledConnection(ConnectionPool pool)
Creates a new PooledConnection instance that uses the given ConnectionPool to create
and manage its resources.
|
Modifier and Type | Method and Description |
---|---|
protected void |
assertNotClosed() |
protected void |
cleanupAllLoanedSessions()
The PooledSession tracks all Sessions that it created and now we close them.
|
protected void |
cleanupConnectionTemporaryDestinations()
Remove all of the temporary destinations created for this connection.
|
void |
close() |
javax.jms.ConnectionConsumer |
createConnectionConsumer(javax.jms.Destination destination,
String selector,
javax.jms.ServerSessionPool serverSessionPool,
int maxMessages) |
javax.jms.ConnectionConsumer |
createConnectionConsumer(javax.jms.Queue queue,
String selector,
javax.jms.ServerSessionPool serverSessionPool,
int maxMessages) |
javax.jms.ConnectionConsumer |
createConnectionConsumer(javax.jms.Topic topic,
String s,
javax.jms.ServerSessionPool serverSessionPool,
int maxMessages) |
javax.jms.ConnectionConsumer |
createDurableConnectionConsumer(javax.jms.Topic topic,
String selector,
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 javax.jms.Session |
createSession(SessionKey key) |
javax.jms.TopicSession |
createTopicSession(boolean transacted,
int ackMode) |
String |
getClientID() |
javax.jms.Connection |
getConnection() |
javax.jms.ExceptionListener |
getExceptionListener() |
javax.jms.ConnectionMetaData |
getMetaData() |
int |
getNumActiveSessions() |
int |
getNumSessions() |
int |
getNumtIdleSessions() |
PooledConnection |
newInstance()
Factory method to create a new instance.
|
void |
onSessionClosed(PooledSession session)
Called when the PooledSession is closed.
|
void |
onTemporaryQueueCreate(javax.jms.TemporaryQueue tempQueue)
Called on successful creation of a new TemporaryQueue.
|
void |
onTemporaryTopicCreate(javax.jms.TemporaryTopic tempTopic)
Called on successful creation of a new TemporaryTopic.
|
void |
setClientID(String clientID) |
void |
setExceptionListener(javax.jms.ExceptionListener exceptionListener) |
void |
start() |
void |
stop() |
String |
toString() |
protected ConnectionPool pool
public PooledConnection(ConnectionPool pool)
pool
- The connection and pool manager backing this proxy connection object.public PooledConnection newInstance()
public void close() throws javax.jms.JMSException
close
in interface javax.jms.Connection
javax.jms.JMSException
public void start() throws javax.jms.JMSException
start
in interface javax.jms.Connection
javax.jms.JMSException
public void stop() throws javax.jms.JMSException
stop
in interface javax.jms.Connection
javax.jms.JMSException
public javax.jms.ConnectionConsumer createConnectionConsumer(javax.jms.Destination destination, String selector, javax.jms.ServerSessionPool serverSessionPool, int maxMessages) throws javax.jms.JMSException
createConnectionConsumer
in interface javax.jms.Connection
javax.jms.JMSException
public javax.jms.ConnectionConsumer createConnectionConsumer(javax.jms.Topic topic, String s, javax.jms.ServerSessionPool serverSessionPool, int maxMessages) throws javax.jms.JMSException
createConnectionConsumer
in interface javax.jms.TopicConnection
javax.jms.JMSException
public javax.jms.ConnectionConsumer createDurableConnectionConsumer(javax.jms.Topic topic, String selector, String s1, javax.jms.ServerSessionPool serverSessionPool, int i) throws javax.jms.JMSException
createDurableConnectionConsumer
in interface javax.jms.Connection
createDurableConnectionConsumer
in interface javax.jms.TopicConnection
javax.jms.JMSException
public String getClientID() throws javax.jms.JMSException
getClientID
in interface javax.jms.Connection
javax.jms.JMSException
public javax.jms.ExceptionListener getExceptionListener() throws javax.jms.JMSException
getExceptionListener
in interface javax.jms.Connection
javax.jms.JMSException
public javax.jms.ConnectionMetaData getMetaData() throws javax.jms.JMSException
getMetaData
in interface javax.jms.Connection
javax.jms.JMSException
public void setExceptionListener(javax.jms.ExceptionListener exceptionListener) throws javax.jms.JMSException
setExceptionListener
in interface javax.jms.Connection
javax.jms.JMSException
public void setClientID(String clientID) throws javax.jms.JMSException
setClientID
in interface javax.jms.Connection
javax.jms.JMSException
public javax.jms.ConnectionConsumer createConnectionConsumer(javax.jms.Queue queue, String selector, javax.jms.ServerSessionPool serverSessionPool, int maxMessages) throws javax.jms.JMSException
createConnectionConsumer
in interface javax.jms.QueueConnection
javax.jms.JMSException
public javax.jms.QueueSession createQueueSession(boolean transacted, int ackMode) throws javax.jms.JMSException
createQueueSession
in interface javax.jms.QueueConnection
javax.jms.JMSException
public javax.jms.TopicSession createTopicSession(boolean transacted, int ackMode) throws javax.jms.JMSException
createTopicSession
in interface javax.jms.TopicConnection
javax.jms.JMSException
public javax.jms.Session createSession(boolean transacted, int ackMode) throws javax.jms.JMSException
createSession
in interface javax.jms.Connection
javax.jms.JMSException
public void onTemporaryQueueCreate(javax.jms.TemporaryQueue tempQueue)
tempQueue
- The TemporaryQueue just created.public void onTemporaryTopicCreate(javax.jms.TemporaryTopic tempTopic)
tempTopic
- The TemporaryTopic just created.public void onSessionClosed(PooledSession session)
session
- The PooledSession that has been closed.public javax.jms.Connection getConnection() throws javax.jms.JMSException
javax.jms.JMSException
protected void assertNotClosed() throws javax.jms.IllegalStateException
javax.jms.IllegalStateException
protected javax.jms.Session createSession(SessionKey key) throws javax.jms.JMSException
javax.jms.JMSException
protected void cleanupConnectionTemporaryDestinations()
protected void cleanupAllLoanedSessions()
public int getNumSessions()
public int getNumActiveSessions()
public int getNumtIdleSessions()
Copyright © 2005–2020 FuseSource, Corp.. All rights reserved.