所需要的的jar:
activemq-all-5.7.0.jar
activemq-pool-5.7.0.jar
commons-pool-1.6.jar
代码案例:
importjavax.jms.JMSException;
importorg.apache.activemq.ActiveMQConnectionFactory;
importorg.apache.activemq.pool.PooledConnection;
importorg.apache.activemq.pool.PooledConnectionFactory;
publicfinal class ActiveMQPoolsUtil {
/**
* 连接
*/
privatestatic PooledConnection connection;
privateActiveMQPoolsUtil() {
}
// 初始化连接池等工作
static{
String url = "failover:(tcp://127.0.0.1:61616)?initialReconnectDelay=1000";
ActiveMQConnectionFactory activeMQConnectionFactory = newActiveMQConnectionFactory();
activeMQConnectionFactory.setUserName("system");
activeMQConnectionFactory.setPassword("manage");
activeMQConnectionFactory.setBrokerURL(url);
try{
PooledConnectionFactory pooledConnectionFactory = newPooledConnectionFactory(
activeMQConnectionFactory);
// session数
intmaximumActive = 200;
pooledConnectionFactory.setMaximumActiveSessionPerConnection(maximumActive);
pooledConnectionFactory.setIdleTimeout(120);
pooledConnectionFactory.setMaxConnections(5);
pooledConnectionFactory.setBlockIfSessionPoolIsFull(true);
connection = (PooledConnection) pooledConnectionFactory.createConnection();
// 必须start,否则无法接收消息
connection.start();
}catch(JMSException e) {
e.printStackTrace();
}
}
/**
* 关闭连接
*/
publicstatic void close() {
try{
if(connection != null) {
connection.close();
}
}catch(JMSException e) {
e.printStackTrace();
}
}
/**
* 获取一个连接
*/
publicstatic PooledConnection getConnection() {
returnconnection;
}
/**
* 设置连接
*/
publicstatic void setConnection(PooledConnection connection) {
ActiveMQPoolsUtil.connection = connection;
}
}