2011-07-15 33 views
3

埋め込みHornetQのデフォルトポートを変更したいと思います。これはhornetq-configuration.xmlファイルで行われたときに機能します。埋め込みHornetQでポートをプログラムで変更する方法

<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(); 

任意のアイデア?ありがとう

答えて

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); 
関連する問題