8.2. アクセプター

アクセプターは、JBoss EAP 統合メッセージングサーバーによって許可される接続のタイプを定義します。サーバーごとに任意の数のアクセプターを定義できます。以下の設定例はデフォルトの full-ha 設定プロファイルを修正したもので、各アクセプタータイプの例を示しています。

<subsystem xmlns="urn:jboss:domain:messaging-activemq:4.0">
  <server name="default">
    ...
    <http-acceptor name="http-acceptor" http-listener="default"/>
    <remote-acceptor name="legacy-messaging-acceptor" socket-binding="legacy-messaging"/>
    <in-vm-acceptor name="in-vm" server-id="0"/>
    ...
  </server>
</subsystem>

上記の設定では、http-acceptor は JBoss EAP のデフォルトの http ポート 8080 をリッスンする Undertow のデフォルト http-listener を使用しています。http-listenerundertow サブシステムで定義されます。

<subsystem xmlns="urn:jboss:domain:undertow:10.0">
  ...
  <server name="default-server">
    <http-listener name="default" redirect-socket="https" socket-binding="http"/>
    ...
  </server>
  ...
</subsystem>

また、上記の remote-acceptorlegacy-messaging という名前の socket-binding を使用する仕組みに注意してください。これは、サーバーのデフォルトの socket-binding-group の一部として、設定の後半で定義されています。

<server xmlns="urn:jboss:domain:8.0">
  ...
  <socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">
      ...
      <socket-binding name="legacy-messaging" port="5445"/>
      ...
  </socket-binding-group>
</server>

この例では、legacy-messaging socket-binding は JBoss EAP をポート 5445 にバインドしており、上記の remote-acceptor がレガシークライアントで使用するために messaging-activemq サブシステムの代わりにポートを要求しています。

最後に、in-vm-acceptorserver-id 属性に一意の値を使用しており、このサーバーインスタンスを同じ JVM で実行されている他のサーバーと区別することができます。