【发布时间】:2012-03-27 04:39:56
【问题描述】:
我可以设置一个 MDB 来监听多个监听端口吗?每个侦听器端口将连接到一个特定队列。 如果不是,为什么限制一个MDB只能监听一个端口?
【问题讨论】:
我可以设置一个 MDB 来监听多个监听端口吗?每个侦听器端口将连接到一个特定队列。 如果不是,为什么限制一个MDB只能监听一个端口?
【问题讨论】:
没有。一个 MDB 只能与一个侦听器端口(或一个激活规范)相关联。
作为解决此限制的一种可能解决方法,您可以多次配置 MDB,以便每个都可以绑定到不同的队列(侦听器端口/激活规范)。
【讨论】:
MDB 被部署到应用服务器。应用程序服务器通常只监听一个端口。您可以构建一个简单的 java 应用程序,为不同的服务器创建不同的连接;虽然以可配置的方式。只是不像 MDB。
【讨论】:
MDB 是位于端口概念之上的一层(可能是多个)抽象层。大多数消息传递实现将通过单个端口代理流量,但可能是数据/控制端口的组合。
将代理想象成一个邮件仓库,信件进来后,代理将它们放入正确的邮箱,同时提供许多其他服务(对等故障转移/通信、持久性、保证传递、消息确认等)。
MDB 是订阅这些抽象邮箱的代理。他们真的不了解底层架构。就他们而言,事情都在内存中本地发生。他们唯一的工作是遵守 EJB 标准,而容器(通常通过应用更底层的标准,如在原始套接字上再次分层的 JCA)负责确保消息到达目的地。
如果您进一步详细说明您为何担心 MDB 与端口的关系,也许会有所帮助
【讨论】: