14.3. クライアントサイドから直接トランスポートを設定
この節では、サーバーと接続するコア
ClientSessionFactory
を設定する方法を示します。
コネクターは、サーバーと対話するコア
ClientSessionFactory
を設定するときに間接的に使用されます。この場合、サーバーサイド設定でコネクターを定義することは必要ありません。代わりに、パラメーターを作成し、ClientSessionFactory
で使用されるコネクターファクトリーを設定します。
以下の
ClientSessionFactory
は、この章で以前に定義したアクセプターに直接接続します。これは、標準的な Netty TCP トランスポートを使用し、ポート 5446 で localhost (デフォルト値) に接続しようとします。
Map<String, Object> connectionParams = new HashMap<String, Object>(); connectionParams.put( org.hornetq.core.remoting.impl.netty.TransportConstants.PORT_PROP_NAME, 5446 ); TransportConfiguration transportConfiguration = new TransportConfiguration( "org.hornetq.core.remoting.impl.netty.NettyConnectorFactory", connectionParams ); ClientSessionFactory sessionFactory = HornetQClient.createClientSessionFactory(transportConfiguration); ClientSession session = sessionFactory.createSession(...);
JMS の場合は、サーバーサイドでコネクターを定義せずに、または
JBOSS_DIST/jboss-as/server/PROFILE/deploy/hornetq/hornetq-jms.xml
で接続ファクトリーを定義せずに、クライアントサイドで直接 JMS 接続を設定できます。
Map<String, Object> connectionParams = new HashMap<String, Object>(); connectionParams.put( org.hornetq.core.remoting.impl.netty.TransportConstants.PORT_PROP_NAME, 5446 ); TransportConfiguration transportConfiguration = new TransportConfiguration( "org.hornetq.core.remoting.impl.netty.NettyConnectorFactory", connectionParams ); ConnectionFactory connectionFactory = HornetQJMSClient.createConnectionFactory(transportConfiguration); Connection jmsConnection = connectionFactory.createConnection();