耐久性のあるトピックのjmsトピックサブスクライバを書くときにclientIdとサブスクリプション名を設定する必要があることを理解しています。JMSパブリッシャ/コンシューマのclientIDを設定する目的は何ですか?
しかし、TOPICを公開するときにclientIDを設定する目的は何ですか?私は人々が出版社/消費者のためにクライアントIDを設定しているのを見ましたが、なぜそれが必要なのか誰も説明しませんでした。
ConnectionFactory conFactory = this.getConnectionFactory();
Connection connection = conFactory.createConnection();
connection.setClientID("WHATS_MY_PURPOSE"); // Why do we need clientID while publishing the TOPIC from consumer/publisher
connection.start();
MessageProducer producer = session.createProducer(destination);
あなたがここで参照しているアプリケーションですか?加入者は私が考える?クライアントIDを取得する必要がある契約者についての質問はありません。 しかし、どのように出版社にとって重要なのでしょうか?サイト運営者がクライアントIDを持っていますか? – user3007165
JMS 1.1仕様によると、永続的なサブスクライバアプリケーションです。 JMSがAPI仕様であるため、一部のメッセージングプロバイダが他の目的にも使用する可能性があります。私は誰にも気づいていない。 – Shashi
これは私のシナリオです。 1. Publisherは、キューにメッセージを送信し、クライアントIDを設定する(ABCと言う)だけでなく 2.耐久性のある加入者は、クライアントIDとそのメッセージを選んでいる(ABCを言う) 上記いずれかの問題なく正常に動作していますさ。 しかし、パブリッシャーからのclientIDの設定をやめて、サブスクライバーのclientIDだけを設定しても、うまくいきます。下の状況も問題なく動作しています。 1. Publisherは 2.耐久性のある加入者は、クライアントIDとそのメッセージを選んでいるクライアントIDを設定せずにキューにメッセージを送信している私は上記に述べたように、それはのclientIdを設定するには、出版社のために必要とされていない – user3007165