Jms Topicの永続購読について-Bory.Chan
ホログラムミドルウェアのTopicメカニズムは,一般にメッセージを保存していない.接続されていないと、再接続時に接続期間を失ったメッセージは受信されません.このメカニズムは、メッセージが失われる可能性のあるシーンに適用される.もちろん、メッセージミドルウェアにはメッセージを保存する機能があります.Jms仕様ではDurableSubscriberが定義されている.
Jms仕様の永続化サブスクリプションに関する一部
Jms仕様を見るとめまいがします(翻訳が下手かもしれません)、キーコードを見て理解しやすいです.
永続的なサブスクリプションを使用するには、送信者はDeliveryModeを使用します.PERSISTENTモード発見、接続前に設定.サブスクライバはクライアント名を設定しsessionを呼び出す.createDurableSubscriber.
Sender:
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); Destination destination = session.createTopic("my-topic");
MessageProducer producer = session.createProducer(destination);
producer.setDeliveryMode(DeliveryMode.PERSISTENT);//保存メッセージの設定 connection.start();//設定完了後、 に接続する
Receiver:
connection.setClientID("client-name"); final Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
Topic topic = session.createTopic("my-topic");
MessageConsumer consumer = session.createDurableSubscriber(topic, "my-sub-name"); connection.start();
最後に、まずReceiverを実行して、目的はこのクライアント(メッセージミドルウェアサーバがこのクライアントのためにメッセージを保存するようにする)を登録して、それからこのReceiverを閉じて、Senderを起動して、メッセージを発見して、それからReceiverを起動してオフラインメッセージを受け取ることができます.
通常の購読者:MessageConsumer consumer=sessionを同時に有効にすることができます.createConsumer(topic); 対比する.
使用中、メッセージサーバは、オフラインで登録されたクライアントごとに独立したメッセージを保存し、オンラインになったときに送信すると感じます.
このメカニズムは授業を受けるようなものです.先生が授業をしているので、テープレコーダーを持っている学生はサインして授業をサボることができます.持続的な購読者はテープレコーダーを持っている学生です.
全文を読むと...
Jms仕様の永続化サブスクリプションに関する一部
。 ,
。 , 。
, durable( )。
JMS (subscription)。
。 ,JMS
, 。
Jms仕様を見るとめまいがします(翻訳が下手かもしれません)、キーコードを見て理解しやすいです.
永続的なサブスクリプションを使用するには、送信者はDeliveryModeを使用します.PERSISTENTモード発見、接続前に設定.サブスクライバはクライアント名を設定しsessionを呼び出す.createDurableSubscriber.
Sender:
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
producer.setDeliveryMode(DeliveryMode.PERSISTENT);//保存メッセージの設定
Receiver:
connection.setClientID("client-name");
MessageConsumer consumer = session.createDurableSubscriber(topic, "my-sub-name");
最後に、まずReceiverを実行して、目的はこのクライアント(メッセージミドルウェアサーバがこのクライアントのためにメッセージを保存するようにする)を登録して、それからこのReceiverを閉じて、Senderを起動して、メッセージを発見して、それからReceiverを起動してオフラインメッセージを受け取ることができます.
通常の購読者:MessageConsumer consumer=sessionを同時に有効にすることができます.createConsumer(topic); 対比する.
使用中、メッセージサーバは、オフラインで登録されたクライアントごとに独立したメッセージを保存し、オンラインになったときに送信すると感じます.
このメカニズムは授業を受けるようなものです.先生が授業をしているので、テープレコーダーを持っている学生はサインして授業をサボることができます.持続的な購読者はテープレコーダーを持っている学生です.
全文を読むと...