0

We are looking at using ActiveMQ as the message transport with NServiceBus, instead of MSMQ, to enable Java endpoints to directly integrate with .NET endpoints over ActiveMQ.

By default NServiceBus endpoints run in a distributed transaction involving MSMQ and SQL Server. Is there the same level of support for distributed transactions in NServiceBus when the message transport is ActiveMQ? Are there any other drawbacks to using ActiveMQ with NServiceBus as compared to MSMQ?

4

2 回答 2

1

我们实际上已经发现了 ActiveMQ 的 .net 客户端的问题——它对分布式事务的支持不够好。虽然我们试图与那里的提交者合作,但我们仍然无法完全解决这个问题。

此时,如果您想在 .net 上使用 ActiveMQ(带有或不带有 NServiceBus),您必须对流经系统的所有消息进行重复数据删除。

我们正在努力将这种基础架构级别的重复数据删除逻辑构建到 NServiceBus 中,以便不支持分布式事务的 RabbitMQ 和 Azure 服务总线等队列提供与 MSMQ 相同的行为。

于 2014-02-17T13:18:50.723 回答
1

摘自 David Boike 的《 Learning NServiceBus》一书:

与 MSMQ 一样,ActiveMQ 支持 DTC,可确保我们的消息处理程序保持完全事务性。

就缺点而言:

于 2014-02-14T18:19:23.820 回答