Hello: I'm using AMQ 5.8 and I've got some questions about PooledConnectionFactory:
This is my testing configuration , running in JVM 6 // ConnectionFactory ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory("failover:(tcp://broker1:61616?connectionTimeout=3000,tcp://broker2:61616?connectionTimeout=3000)?timeout=5000&startupMaxReconnectAttempts=1&maxReconnectAttempts=1&randomize=false&priorityBackup=false"); //PooledConnectionFactory ( size 1 ) PooledConnectionFactory pooledConnectionFactory = new PooledConnectionFactory(connectionFactory); pooledConnectionFactory.setMaxConnections(1); Connection connection1 = pooledConnectionFactory.createConnection(); Connection connection2 = pooledConnectionFactory.createConnection(); 1) I've checked that connection1 != connection2 , i.e., they are different instances , does't it make any sense ? Pool size is 1 , so I would wait that they were the same instance 2) I've checked that if connection1 is started ( connection1.start() ) , connection2 doesn't require to execute connection2.start() So, I guess that connection1 and connection2 share something but they aren't "the same thing " 3) I've checked that connection1.stop() or connection2.stop() ( i guess that over any PooledConnection ) don't do anything I wonder why , though it's not a problem for me 4) I've checked that connection1.close() only has effect on consumers created on connection1 , and connection2.close() only has effect on consumers created on connection2. So, it seems they are different things. But if I has got only one connection in pool, how I can close *that* connection ? ( I don't want to close all of then with clear() method on PooledConnectionFactory, but I want to close a single connection ) Thanks and regards