我在OSGI容器上运行一个嵌入式HornetQ服务器,后面是嵌入式HornetQ Core的示例。
我有三个OSGI容器:一个用于服务器,一个用于生产者,最后一个用于消费者。一切都在当地有效。
我在生产者和消费者中用于连接服务器的代码如下:
// Step 4. As we are not using a JNDI environment we instantiate the objects directly
ServerLocator serverLocator = HornetQClient.createServerLocatorWithoutHA(new TransportConfiguration(NettyConnectorFactory.class.getName()));
ClientSessionFactory sf = serverLocator.createSessionFactory();
我已尝试查看TransportConfiguration
方法,但未找到setter。
答案 0 :(得分:2)
您需要将参数传递给传输配置:
Map<String, Object> parameters = new HashMap<String, Object>();
parameters.put("port", org.hornetq.core.remoting.impl.netty.TransportConstants
.DEFAULT_PORT);
parameters.put(TransportConstants.HOST_PROP_NAME, "127.0.0.1");
TransportConfiguration configuration = new TransportConfiguration(
NettyConnectorFactory.class.getName(), parameters);
请注意,你/可以对NettyAcceptor
做同样的事情。我不确定你在测试中如何配置接受器..但我希望你能理解。