【问题标题】:Can an MDB listen to multiple listener ports一个MDB可以监听多个监听端口吗
【发布时间】:2012-03-27 04:39:56
【问题描述】:

我可以设置一个 MDB 来监听多个监听端口吗?每个侦听器端口将连接到一个特定队列。 如果不是,为什么限制一个MDB只能监听一个端口?

【问题讨论】:

    标签: jms websphere message


    【解决方案1】:

    没有。一个 MDB 只能与一个侦听器端口(或一个激活规范)相关联。

    作为解决此限制的一种可能解决方法,您可以多次配置 MDB,以便每个都可以绑定到不同的队列(侦听器端口/激活规范)。

    【讨论】:

      【解决方案2】:

      MDB 被部署到应用服务器。应用程序服务器通常只监听一个端口。您可以构建一个简单的 java 应用程序,为不同的服务器创建不同的连接;虽然以可配置的方式。只是不像 MDB。

      【讨论】:

      • 我认为您可能指的是一个 http 端口,但 OP 关注的是 listener ports,这是一个托管在 WAS 应用程序服务器上的服务,用于将消息驱动的 bean 连接到消息队列。
      【解决方案3】:

      MDB 是位于端口概念之上的一层(可能是多个)抽象层。大多数消息传递实现将通过单个端口代理流量,但可能是数据/控制端口的组合。

      将代理想象成一个邮件仓库,信件进来后,代理将它们放入正确的邮箱,同时提供许多其他服务(对等故障转移/通信、持久性、保证传递、消息确认等)。

      MDB 是订阅这些抽象邮箱的代理。他们真的不了解底层架构。就他们而言,事情都在内存中本地发生。他们唯一的工作是遵守 EJB 标准,而容器(通常通过应用更底层的标准,如在原始套接字上再次分层的 JCA)负责确保消息到达目的地。

      如果您进一步详细说明您为何担心 MDB 与端口的关系,也许会有所帮助

      【讨论】:

      • 我认为 OP 指的是 WebSphere listener ports,它是 MDB 在 WAS 中绑定的一个组件,用于监听消息目的地;我认为 OP 并不关心 MDB 使用的底层网络端口。
      猜你喜欢
      • 1970-01-01
      • 2020-08-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-22
      • 2012-12-29
      • 1970-01-01
      • 2013-06-17
      相关资源
      最近更新 更多