public class PooledConnectionFactory extends java.lang.Object implements javax.jms.ConnectionFactory, Service
setTimeBetweenExpirationCheckMillis method. By
default the value is -1 which means no eviction thread will be run. Set to a non-negative value to
configure the idle eviction thread to run.| Constructor and Description |
|---|
PooledConnectionFactory()
Creates new PooledConnectionFactory with a default ActiveMQConnectionFactory instance.
|
PooledConnectionFactory(ActiveMQConnectionFactory connectionFactory)
Creates a new PooledConnectionFactory that will use the given ActiveMQConnectionFactory to
create new ActiveMQConnection instances that will be pooled.
|
PooledConnectionFactory(java.lang.String brokerURL)
Creates a new PooledConnectionFactory that will use the given broker URI to connect to
ActiveMQ.
|
| Modifier and Type | Method and Description |
|---|---|
void |
clear()
Clears all connections from the pool.
|
javax.jms.Connection |
createConnection() |
protected ActiveMQConnection |
createConnection(ConnectionKey key) |
javax.jms.Connection |
createConnection(java.lang.String userName,
java.lang.String password) |
protected ConnectionPool |
createConnectionPool(ActiveMQConnection connection)
Delegate that creates each instance of an ConnectionPool object.
|
javax.jms.ConnectionFactory |
getConnectionFactory() |
long |
getExpiryTimeout() |
int |
getIdleTimeout()
Gets the Idle timeout value applied to new Connection's that are created by this pool.
|
int |
getMaxConnections()
Returns the maximum number to pooled Connections that this factory will allow before it
begins to return connections from the pool on calls to (
createConnection. |
int |
getMaximumActiveSessionPerConnection()
Returns the currently configured maximum number of sessions a pooled Connection will
create before it either blocks or throws an exception when a new session is requested,
depending on configuration.
|
int |
getNumConnections() |
long |
getTimeBetweenExpirationCheckMillis() |
boolean |
isBlockIfSessionPoolIsFull()
Returns whether a pooled Connection will enter a blocked state or will throw an Exception
once the maximum number of sessions has been borrowed from the the Session Pool.
|
boolean |
isCreateConnectionOnStartup() |
void |
setBlockIfSessionPoolIsFull(boolean block)
Controls the behavior of the internal session pool.
|
void |
setConnectionFactory(javax.jms.ConnectionFactory connectionFactory)
Sets the ConnectionFactory used to create new pooled Connections.
|
void |
setCreateConnectionOnStartup(boolean createConnectionOnStartup)
Whether to create a connection on starting this
PooledConnectionFactory. |
void |
setExpiryTimeout(long expiryTimeout)
allow connections to expire, irrespective of load or idle time.
|
void |
setIdleTimeout(int idleTimeout)
Sets the idle timeout value for Connection's that are created by this pool in Milliseconds,
defaults to 30 seconds.
|
void |
setMaxConnections(int maxConnections)
Sets the maximum number of pooled Connections (defaults to one).
|
void |
setMaximumActiveSessionPerConnection(int maximumActiveSessionPerConnection)
Sets the maximum number of active sessions per connection
|
void |
setTimeBetweenExpirationCheckMillis(long timeBetweenExpirationCheckMillis)
Sets the number of milliseconds to sleep between runs of the idle Connection eviction thread.
|
void |
start() |
void |
stop() |
public PooledConnectionFactory()
public PooledConnectionFactory(java.lang.String brokerURL)
brokerURL - The URI to use to configure the internal ActiveMQConnectionFactory.public PooledConnectionFactory(ActiveMQConnectionFactory connectionFactory)
connectionFactory - The ActiveMQConnectionFactory to create new Connections for this pool.public javax.jms.ConnectionFactory getConnectionFactory()
public void setConnectionFactory(javax.jms.ConnectionFactory connectionFactory)
clear the pooled Connections.connectionFactory - The factory to use to create pooled Connections.public javax.jms.Connection createConnection()
throws javax.jms.JMSException
createConnection in interface javax.jms.ConnectionFactoryjavax.jms.JMSExceptionpublic javax.jms.Connection createConnection(java.lang.String userName,
java.lang.String password)
throws javax.jms.JMSException
createConnection in interface javax.jms.ConnectionFactoryjavax.jms.JMSExceptionprotected ActiveMQConnection createConnection(ConnectionKey key) throws javax.jms.JMSException
javax.jms.JMSExceptionpublic void clear()
createConnection. Care should be taken when using this method as Connections that
are in use be client's will be closed.public int getMaximumActiveSessionPerConnection()
public void setMaximumActiveSessionPerConnection(int maximumActiveSessionPerConnection)
maximumActiveSessionPerConnection - The maximum number of active session per connection in the pool.public void setBlockIfSessionPoolIsFull(boolean block)
block - - if true, the call to getSession() blocks if the pool is full
until a session object is available. defaults to true.public boolean isBlockIfSessionPoolIsFull()
setBlockIfSessionPoolIsFullpublic int getMaxConnections()
createConnection.public void setMaxConnections(int maxConnections)
createConnection will result in a new Connection being create up to the max
connections value.maxConnections - the maxConnections to setpublic int getIdleTimeout()
public void setIdleTimeout(int idleTimeout)
idleTimeout - The maximum time a pooled Connection can sit unused before it is eligible for removal.public void setExpiryTimeout(long expiryTimeout)
expiryTimeout - non zero in millisecondspublic long getExpiryTimeout()
public boolean isCreateConnectionOnStartup()
start.public void setCreateConnectionOnStartup(boolean createConnectionOnStartup)
PooledConnectionFactory.
This can be used to warm-up the pool on startup. Notice that any kind of exception
happens during startup is logged at WARN level and ignored.createConnectionOnStartup - true to create a connection on startuppublic void setTimeBetweenExpirationCheckMillis(long timeBetweenExpirationCheckMillis)
timeBetweenExpirationCheckMillis - The time to wait between runs of the idle Connection eviction thread.public long getTimeBetweenExpirationCheckMillis()
public int getNumConnections()
protected ConnectionPool createConnectionPool(ActiveMQConnection connection)
connection - Copyright © 2005-2013 Red Hat, Inc.. All Rights Reserved.