32.2. 向后兼容性
向后兼容性不需要更改旧版 JBoss EAP 7 服务器中的配置更改。JBoss EAP 7 JMS 客户端不查找传统服务器上的资源,而是使用客户端 JNDI 来创建 JMS 资源。JBoss EAP 7 JMS 客户端随后可以利用这些资源使用 HornetQ 核心协议与传统服务器通信。
目前不支持与 JBoss EAP 5 服务器的 JBoss EAP 7 客户端连接。
JBoss EAP 消息传递支持客户端 JNDI 创建 JMS ConnectionFactory
和 Destination
资源。
例如,如果 JBoss EAP 7 JMS 客户端希望使用名为"myQueue"的 JMS 队列与传统服务器通信,则必须使用以下属性来配置其 JNDI InitialContext
:
java.naming.factory.initial=org.apache.activemq.artemis.jndi.ActiveMQInitialContextFactory connectionFactory.jms/ConnectionFactory=tcp://<legacy server address>:5445? \ protocolManagerFactoryStr=org.apache.activemq.artemis.core.protocol.hornetq.client.HornetQClientProtocolManagerFactory queue.jms/myQueue=myQueue
java.naming.factory.initial=org.apache.activemq.artemis.jndi.ActiveMQInitialContextFactory
connectionFactory.jms/ConnectionFactory=tcp://<legacy server address>:5445? \
protocolManagerFactoryStr=org.apache.activemq.artemis.core.protocol.hornetq.client.HornetQClientProtocolManagerFactory
queue.jms/myQueue=myQueue
然后,客户端可以使用 jms/ConnectionFactory
名称来创建 JMS ConnectionFactory
,并使用 jms/myQueue
创建 JMS Queue
。请注意,在指定传统连接工厂的 URL 时,属性 protocolManagerFactoryStr=org.apache.activemq.artemis.core.protocolq.client.HornetQClientProtocolManagerFactory
是必需的。这使得 JBoss EAP 消息传递 JMS 客户端能够与传统服务器中的 HornetQ 代理通信。