我在设置名为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
答案 0 :(得分:5)
您需要在EmbeddedServer.java
向服务器的Acceptor添加相同的配置。默认情况下,它将设置为localhost。
我认为该示例需要清理代码:
https://github.com/hornetq/hornetq/pull/1062
此具体提交将明确您需要更改的内容:
https://github.com/FranciscoBorges/hornetq/commit/fbed7e8394c843e4528df90d4c2ef155a7d032c0