2.2. コネクター

アクセプターはサーバーが接続を受け入れる方法を定義しますが、connector はクライアントによって使用され、サーバーへの接続方法を定義します。

以下は、BROKER_INSTANCE_DIR/etc/broker.xml 設定ファイルで定義される通常の connector です。

<connectors>
   <connector name="example-connector">tcp://localhost:61617</connector>
</connectors>

コネクターは connectors 要素内で定義されることに注意してください。サーバーごとのコネクター数の上限はありません。

コネクターはクライアントによって使用されますが、アクセプターと同様にサーバーで設定されます。重要な理由には、以下の 2 つの理由があります。

  • サーバー自体はクライアントとして機能するため、他のサーバーへの接続方法を把握しておく必要があります。たとえば、あるサーバーが別のサーバーにブリッジされている場合や、サーバーがクラスター内の一部を取得する場合などです。
  • サーバーは通常、接続ファクトリーインスタンスを検索するために JMS クライアントによって使用されます。このような場合、JNDI はクライアント接続の作成に使用される接続ファクトリーの詳細を知っておく必要があります。情報は、JNDI ルックアップの実行時にクライアントに提供されます。詳細は、Configuring a Connection on the Client Side を参照してください。

コネクターの設定

アクセプターと同様に、コネクターには URI のクエリー文字列に割り当てられた設定があります。以下は、tcpNoDelay パラメーターが false に設定されている connector の例になります。これにより、この接続の Nagle アルゴリズムが無効になります。

<connector name="example-connector">tcp://localhost:61616?tcpNoDelay=false</connector>

connector 設定パラメーターの詳細は、Acceptor and Connector Configuration Parameters を参照してください。