如何以编程方式连接到嵌入式HornetQ服务器

时间:2012-10-03 16:03:18

标签: java osgi hornetq

我在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。

1 个答案:

答案 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做同样的事情。我不确定你在测试中如何配置接受器..但我希望你能理解。