1

嗨,我是 Websphere JMS 的新手。这是有点不同的配置,即我们需要先创建 BUS。我还看到连接工厂具有服务总线引用,并且队列中给出了相同的服务引用。到目前为止我有以下理解

  1. 我们有满足特殊需求的企业总线。即 BUS 可以控制 MDB 之前的消息。我们可以过滤、修改 BUS 中的消息。
  2. Connection factory 和 Queue 之间有什么关系。我刚刚看到 Connection factory 具有相同的 BUS 引用。
  3. 为什么我们在 Connection factory 和 Queue 中引用相同的 BUS 名称。

请纠正我的理解并帮助我找到上述问题的答案。

4

2 回答 2

1

为什么我们在 Connection factory 和 Queue 中引用相同的 BUS 名称。

一个原因是连接工厂和队列中配置的总线不一定相同。在使用 SIBus 链路互连总线的拓扑中就是这种情况。在这种情况下,您可以连接到一条总线中的消息传递引擎,以将消息发送到另一条总线中的目的地。

于 2012-09-16T21:50:02.037 回答
1

SIBus 是保存包含目的地(点对点或发布/订阅)并实际调度消息的消息传递引擎

在 JMS 部分中,您获得了 Default JMS Provider,它为您提供 JMS 资源(连接工厂、队列、主题),允许您与 SIBus 交互

在 SIBus 中,您在具有某种类型(点对点或发布/订阅)的消息传递引擎上定义目标

JMS 连接工厂创建到消息传递引擎的连接,以便您可以发送/接收消息,这就是为什么您需要告诉它您希望它创建连接到哪个总线的原因

JMS 队列指的是 SIBus 中的点对点目的地。

现在为您的问题:

Bus 本身并不打算修改或过滤消息
过滤可以通过在 MDB 中使用消息选择器来完成,当 MDB 附加到目标时,它将提供消息选择器,消息传递引擎将通过它过滤消息。
关于修改我不确定

正如我之前所说,
ConnectionFactory 是创建到消息传递引擎的连接,而 Queue 是 SIB 目标的抽象。这就是为什么你需要告诉每个人它正在与哪个总线交互。

于 2012-09-16T14:28:58.277 回答