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-listener は undertow サブシステムで定義されます。
<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-acceptor が legacy-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-acceptor は server-id 属性に一意の値を使用しており、このサーバーインスタンスを同じ JVM で実行されている他のサーバーと区別することができます。