5 分ごとに 2 つのタイマーを呼び出して (ファイルがディレクターに存在するかどうかに基づいて) 送信し、キューからメッセージを受信するスタンドアロン アプリケーション (アプリ サーバーなし) を設計しています。このアプリケーションは、長期間 (年) 継続して実行する予定です....
今、私はJMS接続を一度だけ作成してそれを常に使用するか、5分ごとに接続してそれらを閉じるか、ジレンマを抱えています...(ビジネスロジックを実行した後)
デザインに関する提案は役に立ちますか? 単一の接続を使用する (そして JMS MessageListenr を使用する) 場合、キュー マネージャーがダウンして 1 日か 2 日後に来るとどうなりますか.......
ActiveMQ でサンプルを試してみました...アクティブな mq ブローカーとプロデューサーを強制終了するとすぐに...リスナー スレッド (conn を 1 回だけ作成し、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);