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