まず、ユニークな消費者の
ために、キューのメッセージは、複数の消費者が存在する場合に、同時に同じキューからメッセージを抽出し、あなたが保証を失うことになる、しかし、消費者に配布されています。これらのメッセージは、複数の同時マルチスレッドによって処理されるため。時には、メッセージ処理が非常に重要ですが、更新操作の順序を実行するには、この操作の終了前に順番を挿入したくない場合がありますことを確実にするためです。
4.xのバージョンからのActiveMQは、独占消費者をサポートするために始めました。ブローカーは、より多くのであろう
メッセージの秩序ある処理を確保するために、キュー内のすべてのメッセージを処理するために、消費者がより消費者を選びます。消費者が失敗した場合、ブローカーは自動的に別の消費者に切り替わります。次のように宛先オプションは、独占消費者によって作成することができます:
キュー=新新のActiveMQ(「test.queue Consumer.exclusive = trueに?」);
消費者= session.createConsumer(キュー);
あなたはまた、消費者のための優先順位を設定することができ、ネットワークのように、次のように、状況を最適化します:
queue = new ActiveMQQueue(“TEST.QUEUE?Consumer.exclusive=true
&consumer.priority=10”);
第二に、メッセージの配信は非同期
3つのメッセージ優先順位
第三には、永続メッセージの管理は
四、メッセージパケットの
メッセージパケットは、同時独占消費者として見ることができます。異なるプロセスによるユニークな消費者とのすべてのメッセージは、JMSメッセージ・プロパティJMSXGroupIDは、メッセージのグループを区別するために使用しました。
メッセージグループ機能は同じJMSXGroupIDを持つすべてのメッセージは、(消費者がアクティブのまま限り)同じ消費者に配布されることを保証する
一方、メッセージ・パケットの特性は、負荷均等化するための機構です。メッセージを消費者に配布される前に、ブローカーは最初のチェックメッセージ属性をJMSXGroupID。もしそうなら、ブローカーは、このメッセージのグループを持っている消費者のためにチェックします。
そうでない場合には、ブローカーは、消費者を選択し、メッセージグループにリンクします。その後、消費者は、このメッセージのグループまでのすべてのメッセージを受信します。
-
メッセージグループを作成し、あなただけは、次のように、メッセージオブジェクトのプロパティを設定する必要があります。
message.setStringProperty(「JMSXGroupID」、「グループAを」); - メッセージグループを閉じ、次のように、唯一のメッセージは、オブジェクトのプロパティに提供される:
message.setStringProperty( "JMSXGroupID列"、 "グループA");
Message.setIntProperty - ;( "JMSXGroupSeq"、1。)
6、メッセージセレクタ
VIIを。ニュース重い手渡し戦術
8つの消費者遡及ニュース
9、ゆっくりと消費者の取り扱い