选项1:
您必须从远程 JNDI 进行查找。
我不确定 ATM 如何指定 jndiProps.setProperty(Context.PROVIDER_URL, "127.0.0.1:4447"); 在 JNDI 属性之一中。
选项 2:
您可以创建一个绑定到远程服务器的本地池连接工厂:
首先指定一个连接器:
<connectors>
<netty-connector name="remote-jms" socket-binding="messaging-remote"/>
...
</connectors>
并指定套接字绑定:
<socket-binding-group ....>
....
<outbound-socket-binding name="remote-jms">
<remote-destination host="other-hos" port="5445"/>
</outbound-socket-binding>
</socket-binding-group>
然后指定将远程连接的池连接工厂。
<pooled-connection-factory name="ConnectionFactory1">
<user>jmsuser</user>
<password>jmspassword</password>
<connectors>
<connector-ref connector-name="remote-jms" />
</connectors>
<entries>
<entry name="java:/ConnectionFactory1" />
</entries>
</pooled-connection-factory>
选项 3:
在不使用 JNDI 的情况下创建连接工厂。请注意,您将在每次连接时执行网络调用。最好的办法是建立一个连接:
http://docs.jboss.org/hornetq/2.3.0.Final/docs/user-manual/html/using-jms.html#d0e1361