3

我按照嵌入式 HornetQ Core 的示例在 OSGI 容器上运行嵌入式 HornetQ 服务器。

我有三个 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方法,但没有找到二传手。

4

1 回答 1

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. 我不确定你是如何在测试中配置接受器的。但我希望你明白这一点。

于 2012-10-03T16:13:48.087 回答