我正在設計一個獨立的應用程序(無應用程序服務器),它將每隔5分鐘調用兩個定時器併發送(根據文件是否存在於導演中)並接收來自隊列的消息。此應用程序計劃連續運行很長時間(幾年)....獨立客戶端中的JMS連接
現在我有一個困境是否只創建一次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);