0

我目前正在开发一个结合 Java 和 .NET 系统的项目。两者之间的通信是从 Java 通过 ActiveMQ 到使用 BizTalk 作为翻译器的 .NET MSMQ。

我想知道我们是否可以在使用 NServiceBus 4.0 时删除 BizTalk,并在 1 个 NServiceBus 实例中使用 2 种不同的传输类型。应从 ActiveMQ 中获取传入事件并使用 MSMQ 发布。

本例中的 NServiceBus 实例自托管在 IIS 上的 WCF 服务中,并使用 Unity 容器注入到业务逻辑中。

这是可能的,还是我需要为每个实例/主机坚持 1 种传输类型?

4

3 回答 3

2

使用 NServiceBus 4.0 版,您可以在两侧使用 ActiveMQ,从而消除 BizTalk 和 MSMQ。

更新:

您可以有一个常规的 NSB 端点监听 ActiveMQ 并让它调用 Bus.SendToSites,您可以在其中配置消息通过 MSMQ 发送到您的常规端点。

于 2013-05-24T16:44:03.790 回答
0

每个端点有一个传输。只要是一种方式,您就可以将 NSB 端点公开为 Web 服务。

于 2013-05-24T14:19:53.623 回答
0

我们通过使用 NServiceBus 中的卫星解决了这个问题,该卫星使用 Apache.NMS 和 Apache.NMS.ActiveMQ 来使用现有的 ActiveMQ 队列并创建我们放在总线上的新消息。使用 NServiceBus 4.0 默认 MSMQ 传输而不是混合传输来使用非 NServiceBus 托管的 ActiveMQ。

于 2013-06-13T13:16:34.067 回答