设置HornetQ嵌入式远程示例

时间:2013-05-15 22:28:20

标签: java jms hornetq

我在设置名为Embedded-Remote的核心文件夹下的hornetq-2.3.0.Final jar中的示例时遇到了一些麻烦,我试图在“远程环境”中运行该示例,使用同一LAN中的这两台计算机,如果我在同一台计算机上运行两个类而不更改任何内容“EmbeddedRemotExample.java”运行正常,但由于此示例缺少配置文件,我不确定如何设置此类以连接到在另一台计算机上运行的服务器。阅读api我发现这是一个有效的代码:

`

     HashMap map = new HashMap();
     map.put("host", "192.168.XXX.XXX");
     map.put("port", 5445);
     ServerLocator serverLocator = HornetQClient.createServerLocatorWithoutHA(
         new TransportConfiguration(NettyConnectorFactory.class.getName(),map));
     ClientSessionFactory sf = serverLocator.createSessionFactory();` 

但这会产生下一个异常

HornetQException[errorType=NOT_CONNECTED message=HQ119007: Cannot connect to server(s). Tried with all available servers.]
at org.hornetq.core.client.impl.ServerLocatorImpl.createSessionFactory(ServerLocatorImpl.java:852)
at org.hornetq.core.example.EmbeddedRemoteExample.main(EmbeddedRemoteExample.java:49)`

我如何设置此特定示例?

在一台计算机上:org.hornetq.core.example.EmbeddedServer

在另一个中:org.hornetq.core.example.EmbeddedRemoteExample

1 个答案:

答案 0 :(得分:5)

您需要在EmbeddedServer.java向服务器的Acceptor添加相同的配置。默认情况下,它将设置为localhost。

我认为该示例需要清理代码:

https://github.com/hornetq/hornetq/pull/1062

此具体提交将明确您需要更改的内容:

https://github.com/FranciscoBorges/hornetq/commit/fbed7e8394c843e4528df90d4c2ef155a7d032c0