3

組み込みの HornetQ でデフォルトのポートを変更したいと考えています。これは、hornetq-configuration.xml ファイルで行うと機能します。

<acceptors>
  <acceptor name="netty-acceptor">
    <factory-class>org.hornetq.integration.transports.netty.NettyAcceptorFactory</factory-class>
    <param key="port" value="6446"/>
  </acceptor>
</acceptors>

しかし、プログラムで変更することはできません。ファイルから構成をロードし、上書きしようとしましたが、成功しませんでした-これが私が試したことです:

// Load configuration
FileConfiguration configuration = new FileConfiguration();
configuration.setConfigurationUrl("hornetq-configuration.xml");

// Prepare configuration objects
String netty = NettyAcceptorFactory.class.getName();
Map<String, Object> transportParams = new HashMap<String, Object>();
transportParams.put(TransportConstants.HOST_PROP_NAME, "localhost");
transportParams.put(TransportConstants.PORT_PROP_NAME, 6446);
TransportConfiguration transpConf = new TransportConfiguration(netty, transportParams);

// add configuration (clearing before didn't helped either))
configuration.getAcceptorConfigurations().add(transpConf);
configuration.start(); // moving this right after the setting the file didn't helped

// start server
HornetQServer server = HornetQServers.newHornetQServer(configuration);
JMSServerManager jmsServerManager = new JMSServerManagerImpl(server, "hornetq-jms.xml");
jmsServerManager.setContext(null);
jmsServerManager.start();

何か案は?ありがとう

4

1 に答える 1

5

configuration.start()追加したものはすべて上書きされるため、これは機能しませんでした。

次のようなことができるはずです。

FileConfiguration configuration = new FileConfiguration();
configuration.setConfigurationUrl("hornetq-configuration.xml");

configuration.start(); // <<<-----------------

// Prepare configuration objects
String netty = NettyAcceptorFactory.class.getName();
Map<String, Object> transportParams = new HashMap<String, Object>();
transportParams.put(TransportConstants.HOST_PROP_NAME, "localhost");
transportParams.put(TransportConstants.PORT_PROP_NAME, 6446);
TransportConfiguration transpConf = new TransportConfiguration(netty, transportParams);

configuration.getAcceptorconfigurations().clear(); // <<<-----------------

// add configuration
configuration.getAcceptorConfigurations().add(transpConf);
于 2011-07-15T17:47:00.113 に答える