0

これが私のシナリオです。サービスとしてインストールされている ActiveMQ (JBoss-AMQ) プロデューサーとコンシューマーはほとんどありません。サーバーの再起動時に、プロデューサーまたはコンシューマー サービスが ActiveMQ ブローカー サービスの前に開始するような状況を処理するベスト プラクティスは何ですか。その場合、プロデューサ/クライアントは接続を確立できず、ブローカ サービスが開始された後もそのままハングアップし始めます。

接続作成のコードスニペットは次のとおりです。

try {
            connection = connectionFactory.createConnection();
            connection.start();
            LOGGER.info(STARTED_CONNECTION_WITH_THE_DESTINATION + destinationName);
            session = createSession();
            destination = session.createQueue(destinationName);
            LOGGER.info(CREATED_QUEUE_IN_DESTINATION + destinationName);
            if (isImageProcAgent) {
                consumer = createConsumer();
                LOGGER.info(CONSUMER_HAS_BEEN_INITIALIZED);
            } else {
                producer = session.createProducer(destination);
                LOGGER.info(PRODUCER_HAS_BEEN_INITIALIZE);
            }
        } catch (MessagingException e) {
            LOGGER.error(e);
        } catch (JMSException e) {
            LOGGER.error(e);
        }

私は JMS を初めて使用するので、サポートに感謝します。

4

1 に答える 1

0

これは、このドキュメントで説明failoverされているように を構成することで実現できます。私のコードスニペットによると、必要な変更は次のとおりです。

destination = session.createQueue("failover:"+destinationName);
producer = session.createProducer("failover:"+destination);
于 2015-06-27T12:09:12.763 に答える