AMQ-4004: The option maximumActive has been name a more descriptive name to not confuse end users. The old name is kept but is @deprecated to be backwards compatible.

git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1378859 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Claus Ibsen 2012-08-30 08:54:15 +00:00
parent 8fc47c6abf
commit dd2556bc91
4 changed files with 32 additions and 11 deletions

View File

@ -89,6 +89,10 @@ public class AmqJNDIPooledConnectionFactory extends PooledConnectionFactory
if (temp != null && temp.length() > 0) { if (temp != null && temp.length() > 0) {
setMaximumActive(Integer.parseInt(temp)); setMaximumActive(Integer.parseInt(temp));
} }
temp = properties.getProperty("maximumActiveSessionPerConnection");
if (temp != null && temp.length() > 0) {
setMaximumActiveSessionPerConnection(Integer.parseInt(temp));
}
temp = properties.getProperty("maxConnections"); temp = properties.getProperty("maxConnections");
if (temp != null && temp.length() > 0) { if (temp != null && temp.length() > 0) {
setMaxConnections(Integer.parseInt(temp)); setMaxConnections(Integer.parseInt(temp));
@ -98,9 +102,10 @@ public class AmqJNDIPooledConnectionFactory extends PooledConnectionFactory
public void populateProperties(Properties props) { public void populateProperties(Properties props) {
((ActiveMQConnectionFactory) getConnectionFactory()) ((ActiveMQConnectionFactory) getConnectionFactory())
.populateProperties(props); .populateProperties(props);
props props.setProperty("maximumActive", Integer
.setProperty("maximumActive", Integer .toString(getMaximumActive()));
.toString(getMaximumActive())); props.setProperty("maximumActiveSessionPerConnection", Integer
.toString(getMaximumActiveSessionPerConnection()));
props.setProperty("maxConnections", Integer props.setProperty("maxConnections", Integer
.toString(getMaxConnections())); .toString(getMaxConnections()));
} }

View File

@ -63,7 +63,7 @@ public class PooledConnectionFactory implements ConnectionFactory, Service {
private ConnectionFactory connectionFactory; private ConnectionFactory connectionFactory;
private final Map<ConnectionKey, LinkedList<ConnectionPool>> cache = new HashMap<ConnectionKey, LinkedList<ConnectionPool>>(); private final Map<ConnectionKey, LinkedList<ConnectionPool>> cache = new HashMap<ConnectionKey, LinkedList<ConnectionPool>>();
private ObjectPoolFactory poolFactory; private ObjectPoolFactory poolFactory;
private int maximumActive = 500; private int maximumActiveSessionPerConnection = 500;
private int maxConnections = 1; private int maxConnections = 1;
private int idleTimeout = 30 * 1000; private int idleTimeout = 30 * 1000;
private boolean blockIfSessionPoolIsFull = true; private boolean blockIfSessionPoolIsFull = true;
@ -193,15 +193,31 @@ public class PooledConnectionFactory implements ConnectionFactory, Service {
this.poolFactory = poolFactory; this.poolFactory = poolFactory;
} }
/**
* @deprecated use {@link #getMaximumActiveSessionPerConnection()}
*/
@Deprecated
public int getMaximumActive() { public int getMaximumActive() {
return maximumActive; return getMaximumActiveSessionPerConnection();
}
/**
* @deprecated use {@link #setMaximumActiveSessionPerConnection(int)}
*/
@Deprecated
public void setMaximumActive(int maximumActive) {
setMaximumActiveSessionPerConnection(maximumActive);
}
public int getMaximumActiveSessionPerConnection() {
return maximumActiveSessionPerConnection;
} }
/** /**
* Sets the maximum number of active sessions per connection * Sets the maximum number of active sessions per connection
*/ */
public void setMaximumActive(int maximumActive) { public void setMaximumActiveSessionPerConnection(int maximumActiveSessionPerConnection) {
this.maximumActive = maximumActive; this.maximumActiveSessionPerConnection = maximumActiveSessionPerConnection;
} }
/** /**
@ -242,10 +258,10 @@ public class PooledConnectionFactory implements ConnectionFactory, Service {
*/ */
protected ObjectPoolFactory createPoolFactory() { protected ObjectPoolFactory createPoolFactory() {
if (blockIfSessionPoolIsFull) { if (blockIfSessionPoolIsFull) {
return new GenericObjectPoolFactory(null, maximumActive); return new GenericObjectPoolFactory(null, maximumActiveSessionPerConnection);
} else { } else {
return new GenericObjectPoolFactory(null, return new GenericObjectPoolFactory(null,
maximumActive, maximumActiveSessionPerConnection,
GenericObjectPool.WHEN_EXHAUSTED_FAIL, GenericObjectPool.WHEN_EXHAUSTED_FAIL,
GenericObjectPool.DEFAULT_MAX_WAIT); GenericObjectPool.DEFAULT_MAX_WAIT);
} }

View File

@ -91,7 +91,7 @@ public class PooledConnectionFactoryMaximumActiveTest extends TestCase
ActiveMQConnectionFactory amq = new ActiveMQConnectionFactory("vm://broker1?marshal=false&broker.persistent=false"); ActiveMQConnectionFactory amq = new ActiveMQConnectionFactory("vm://broker1?marshal=false&broker.persistent=false");
PooledConnectionFactory cf = new PooledConnectionFactory(amq); PooledConnectionFactory cf = new PooledConnectionFactory(amq);
cf.setMaxConnections(3); cf.setMaxConnections(3);
cf.setMaximumActive(1); cf.setMaximumActiveSessionPerConnection(1);
cf.setBlockIfSessionPoolIsFull(true); cf.setBlockIfSessionPoolIsFull(true);
conn = cf.createConnection(); conn = cf.createConnection();

View File

@ -109,7 +109,7 @@ class TestRunner implements Callable<Boolean> {
ActiveMQConnectionFactory amq = new ActiveMQConnectionFactory("vm://broker1?marshal=false&broker.persistent=false"); ActiveMQConnectionFactory amq = new ActiveMQConnectionFactory("vm://broker1?marshal=false&broker.persistent=false");
PooledConnectionFactory cf = new PooledConnectionFactory(amq); PooledConnectionFactory cf = new PooledConnectionFactory(amq);
cf.setMaxConnections(3); cf.setMaxConnections(3);
cf.setMaximumActive(1); cf.setMaximumActiveSessionPerConnection(1);
cf.setBlockIfSessionPoolIsFull(false); cf.setBlockIfSessionPoolIsFull(false);
conn = cf.createConnection(); conn = cf.createConnection();