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>