问题描述
我目前正在开发一个结合 Java 和 .NET 系统的项目.两者之间的通信是从 Java over ActiveMQ 到使用 BizTalk 作为转换器的 .NET MSMQ.
I'm currently working on a project that combines Java and .NET systems. The communication between the two is from Java over ActiveMQ to .NET MSMQ using BizTalk as a translator.
我想知道我们是否可以在使用 NServiceBus 4.0 时去掉 BizTalk,并在 1 个 NServiceBus 实例中使用 2 种不同的传输类型.传入事件应从 ActiveMQ 中选取并使用 MSMQ 发布.
I was wondering if we could cut out BizTalk when using NServiceBus 4.0 and use 2 different transport types in 1 NServiceBus instance. Incoming events should be picked up from ActiveMQ and published using MSMQ.
本例中的 NServiceBus 实例自托管在 IIS 上的 WCF 服务中,并使用 Unity 容器注入到业务逻辑中.
The NServiceBus instance in this case is self-hosted within a WCF service on IIS and injected into the business logic using a Unity container.
这是可能的还是我需要坚持每个实例/主机使用 1 种传输类型?
Is this going to be possible or do I need to stick to 1 transport type per instance/host?
推荐答案
我们通过在 NServiceBus 中使用卫星解决了这个问题,该卫星使用 Apache.NMS 和 Apache.NMS.ActiveMQ 来使用现有的 ActiveMQ 队列并创建一个新消息我们上了公共汽车.使用 NServiceBus 4.0 默认 MSMQ 传输而不是混合传输来使用非 NServiceBus 管理的 ActiveMQ.
We solved the issue by using a satellite in NServiceBus that uses Apache.NMS and Apache.NMS.ActiveMQ to consume an existing ActiveMQ queue and create a new message that we put on the bus. Using NServiceBus 4.0 default MSMQ transport and not mixing transports to consume the non-NServiceBus managed ActiveMQ.
这篇关于NServiceBus 4.0 中的混合传输的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!