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 使用 Undertow 的默认 http-listener,它侦听 JBoss EAP 的默认 http 端口 8080。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-bindingsocket-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>
在本例中,传统-messaging socket-binding 将 JBoss EAP 绑定到端口 5445,上面的远程 接收器则声明代表 messaging-activemq 子系统供传统客户端使用的端口。
最后,in-vm-acceptor 对 server-id 属性使用唯一值,以便此服务器实例可以和可能在同一 JVM 中运行的其他服务器区分开来。