26.2. JMS の使用
メッセージグループを識別するために使用されるプロパティー名は
JMSXGroupID です。
// send 2 messages in the same group to ensure the same
// consumer will receive both
Message message = ...
message.setStringProperty("JMSXGroupID", "Group-0");
producer.send(message);
message = ...
message.setStringProperty("JMSXGroupID", "Group-0");
producer.send(message);
または、ランダムで一意の ID を取得する
HornetQConnectionFactory で autogroup を true に設定できます。これは、以下のように JBOSS_DIST/jboss-as/server/PROFILE/deploy/hornetq/hornetq-jms.xml ファイルで設定することもできます。
<connection-factory name="NettyConnectionFactory">
<connectors>
<connector-ref connector-name="netty-connector"/>
</connectors>
<entries>
<entry name="/ConnectionFactory"/>
</entries>
<autogroup>true</autogroup>
</connection-factory>
または、接続ファクトリーを使用してグループ ID を設定できます。この接続ファクトリーによって作成されたプロデューサーで送信されたすべてのメッセージは、
JMSXGroupID を、送信されたすべてのメッセージの指定された値に設定します。グループ ID を設定するには、以下のように、hornetq-jms.xml 設定ファイルの接続ファクトリーで設定します。
<connection-factory name="NettyConnectionFactory">
<connectors>
<connector-ref connector-name="netty-connector"/>
</connectors>
<entries>
<entry name="/ConnectionFactory"/>
</entries>
<group-id>Group-0</group-id>
</connection-factory>