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