org.apache.activemq.jms.pool
Class ConnectionPool
java.lang.Object
org.apache.activemq.jms.pool.ConnectionPool
- Direct Known Subclasses:
- XaConnectionPool
public class ConnectionPool
- extends Object
Holds a real JMS connection along with the session pools associated with it.
Instances of this class are shared amongst one or more PooledConnection object and must
track the session objects that are loaned out for cleanup on close as well as ensuring
that the temporary destinations of the managed Connection are purged when all references
to this ConnectionPool are released.
|
Field Summary |
protected javax.jms.Connection |
connection
|
connection
protected javax.jms.Connection connection
ConnectionPool
public ConnectionPool(javax.jms.Connection connection)
setHasExpired
public void setHasExpired(boolean val)
makeSession
protected javax.jms.Session makeSession(SessionKey key)
throws javax.jms.JMSException
- Throws:
javax.jms.JMSException
wrap
protected javax.jms.Connection wrap(javax.jms.Connection connection)
unWrap
protected void unWrap(javax.jms.Connection connection)
start
public void start()
throws javax.jms.JMSException
- Throws:
javax.jms.JMSException
getConnection
public javax.jms.Connection getConnection()
createSession
public javax.jms.Session createSession(boolean transacted,
int ackMode)
throws javax.jms.JMSException
- Throws:
javax.jms.JMSException
close
public void close()
incrementReferenceCount
public void incrementReferenceCount()
decrementReferenceCount
public void decrementReferenceCount()
expiredCheck
public boolean expiredCheck()
- Determines if this Connection has expired.
A ConnectionPool is considered expired when all references to it are released AND either
the configured idleTimeout has elapsed OR the configured expiryTimeout has elapsed.
Once a ConnectionPool is determined to have expired its underlying Connection is closed.
- Returns:
- true if this connection has expired.
getIdleTimeout
public int getIdleTimeout()
setIdleTimeout
public void setIdleTimeout(int idleTimeout)
setExpiryTimeout
public void setExpiryTimeout(long expiryTimeout)
getExpiryTimeout
public long getExpiryTimeout()
getMaximumActiveSessionPerConnection
public int getMaximumActiveSessionPerConnection()
setMaximumActiveSessionPerConnection
public void setMaximumActiveSessionPerConnection(int maximumActiveSessionPerConnection)
getNumSessions
public int getNumSessions()
- Returns:
- the total number of Pooled session including idle sessions that are not
currently loaned out to any client.
getNumIdleSessions
public int getNumIdleSessions()
- Returns:
- the total number of Sessions that are in the Session pool but not loaned out.
getNumActiveSessions
public int getNumActiveSessions()
- Returns:
- the total number of Session's that have been loaned to PooledConnection instances.
setBlockIfSessionPoolIsFull
public void setBlockIfSessionPoolIsFull(boolean block)
- Configure whether the createSession method should block when there are no more idle sessions and the
pool already contains the maximum number of active sessions. If false the create method will fail
and throw an exception.
- Parameters:
block - Indicates whether blocking should be used to wait for more space to create a session.
isBlockIfSessionPoolIsFull
public boolean isBlockIfSessionPoolIsFull()
toString
public String toString()
- Overrides:
toString in class Object
Copyright © 2005-2013 The Apache Software Foundation. All Rights Reserved.