【发布时间】:2013-02-01 23:20:45
【问题描述】:
我正在设计一个独立的应用程序(没有应用程序服务器),它将每 5 分钟调用两个计时器并发送(基于文件是否存在于控制器中)和接收来自队列的消息。该应用程序计划连续运行很长时间(年)......
现在我遇到了一个难题,是只创建一次 JMS 连接并一直使用它......还是每 5 分钟连接一次连接并关闭它们......(在执行业务逻辑之后)
关于设计的任何建议会有帮助吗?如果我选择单一连接(并使用 JMS MessageListenr),如果队列管理器关闭并在一两天后出现会发生什么......
我尝试了一个带有 ActiveMQ 的示例......一旦我杀死了活动的 mq 代理和生产者......监听器线程(它只创建一次 conn 并使用 MessageListener)应用程序会在几分钟后自动结束
//下面的监听代码
connectionFactory = new ActiveMQConnectionFactory(
ActiveMQConnection.DEFAULT_USER,
ActiveMQConnection.DEFAULT_PASSWORD,
ActiveMQConnection.DEFAULT_BROKER_URL);
connection = connectionFactory.createConnection();
connection.start();
session = connection.createSession(transacted, Session.AUTO_ACKNOWLEDGE);
destination = session.createQueue("mmy first active mq queue");
MessageConsumer consumer = session.createConsumer(destination);
MyListener mylistener = new MyListener();
consumer.setMessageListener(mylistener);
connection.setExceptionListener(mylistener);
【问题讨论】:
标签: jms activemq message-queue ibm-mq