ActiveMQ是一种流行的消息队列中间件,它可以用于在分布式系统中进行异步通信。连接池是一种用于管理数据库连接或其他资源的技术,它可以提高系统的性能和可扩展性。
以下是使用ActiveMQ连接池的代码示例:
org.apache.activemq
activemq-core
5.16.0
import org.apache.activemq.jms.pool.PooledConnectionFactory;
PooledConnectionFactory connectionFactory = new PooledConnectionFactory();
connectionFactory.setBrokerURL("tcp://localhost:61616"); // ActiveMQ的地址
connectionFactory.setMaximumActiveSessionPerConnection(10); // 设置每个连接的最大会话数量
connectionFactory.setExpiryTimeout(3000); // 设置连接的超时时间(毫秒)
import javax.jms.Connection;
import javax.jms.JMSException;
Connection connection = connectionFactory.createConnection();
connection.start();
import javax.jms.Session;
import javax.jms.Message;
import javax.jms.MessageProducer;
import javax.jms.MessageConsumer;
import javax.jms.Queue;
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
Queue queue = session.createQueue("my_queue");
MessageProducer producer = session.createProducer(queue);
Message message = session.createTextMessage("Hello, ActiveMQ!");
producer.send(message);
MessageConsumer consumer = session.createConsumer(queue);
Message receivedMessage = consumer.receive();
System.out.println("Received message: " + ((TextMessage) receivedMessage).getText());
connection.close();
session.close();
通过使用ActiveMQ连接池,您可以重用已经创建的连接,避免了每次创建连接的开销,并且可以更好地管理连接资源。