20.7.3. 为 Java Messaging Service (JMS) 客户配置服务器

属性 JMSXGroupID 用于为 JMS 客户识别消息组。如果您想发送包含不同消息的消息组到某个消费者,您可以对不同的消息设置相同的 JMSXGroupID
 Message message = ...
 message.setStringProperty("JMSXGroupID", "Group-0");
 producer.send(message);

 message = ...
 message.setStringProperty("JMSXGroupID", "Group-0");
 producer.send(message);
第二个途径是设置 HornetQConnectonFactory 上的 autogroup 属性为 "true"。HornetQConnectionFactory 将选取一个随机的唯一消息组 ID。您可以这样在服务器配置文件(standalone.xmldomain.xml)里设置 autogroup 属性:
<connection-factory name="ConnectionFactory">
   <connectors>
      <connector-ref connector-name="netty-connector"/>
   </connectors>
   <entries>
      <entry name="ConnectionFactory"/>
   </entries>
   <autogroup>true</autogroup>
</connection-factory>

除了上面两个途径以外,另外一个方法是通过连接工厂设置专有的消息组 ID。这将依次将通过这个连接工厂发送的所有消息的属性 JMSXGroupID 设置为指定的值。要在连接工厂上设置专有的消息组 ID,请编辑服务器配置文件(standalone.xmldomain.xml)里的 group-id 属性:
<connection-factory name="ConnectionFactory">
   <connectors>
      <connector-ref connector-name="netty-connector"/>
   </connectors>
   <entries>
      <entry name="ConnectionFactory"/>
   </entries>
   <group-id>Group-0</group-id>
</connection-factory>