0

Java と Qpid JMS 0.23 を使用して、pub/sub でテストしています。

「test.topic」という名前の SB にトピックを作成しました。

テスト アプリからトピックにメッセージを発行できますが、サブスクライブ (動的にサブスクリプションを作成) しようとすると、次の例外で失敗します。

javax.jms.InvalidDestinationException: メッセージング エンティティ 'mynamespace:topic:test.topic~15|DurableSubscriber2' が見つかりませんでした。TrackingId:12ecc2a3-f8f3-42a3-8bd5-ad5d9823c367_B20, SystemTracker:mynamespace:topic:test.topic~15|DurableSubscriber2, タイムスタンプ:8/8/2017 12:13:31 PM TrackingId:7e0d46404c8c45f39bffff2b7 /8/2017 12:13:31 PM [状態 = amqp:not-found]

いくつかのコード:

env.put("topic.TOPIC", "test.topic");

Context context = new InitialContext(env);

ConnectionFactory connectionFactory = (ConnectionFactory) context.lookup("SBCF");
Topic topic = (Topic) context.lookup("TOPIC");

connection = connectionFactory.createConnection("user", "secret");

subscriberSession = connection.createSession(false, Session.CLIENT_ACKNOWLEDGE);

subscriber = subscriberSession.createDurableConsumer(topic, "DurableSubscriber2");
  • アプリケーションから SB のトピックに関するサブスクリプションを作成することはできますか?

トピックに「sub1」という名前の静的サブスクリプションを作成すると、発行されたメッセージを受信します。取得するときは、トピックを次のように定義する必要があります。

test.topic/Subscriptions/sub1

すなわち

<<topic-name>>/Subscriptions/<<subscription-name>>
  • 動的にサブスクライブする場合、同様の名前を付ける必要がありますか?
4

1 に答える 1