Apache.NMS:多个生产者可以通过同一连接发送消息吗?

问题描述 投票:0回答:1

我们正在C#中使用Apache.NMS库。

是否可能有多个生产者线程使用同一连接发送消息?每次共享连接还是创建新连接更好?

我正在寻找灵感,但这似乎并没有得到很好的维护https://github.com/tabish121/NMS.Pooled

c# concurrency activemq nms
1个回答
0
投票

一般而言,连接被认为是共享的,因为它们被认为是相对“重”的对象。当然,可能有多个生产者线程,每个线程都使用相同的连接发送消息。您肯定每次都想创建一个新的连接。

ActiveMQ NMS API是根据JMS API建模的,它非常清楚哪些对象是线程安全的,哪些不是线程安全的。简而言之,连接是线程安全的,而会话不是。因此,建议您在多个线程之间同时使用连接。也就是说,对于NMS,没有像JMS那样严格的规范或TCK,因此很难提供严格的保证。实际行为将取决于您使用的特定实现(例如AMQP,OpenWire,STOMP等)。

© www.soinside.com 2019 - 2024. All rights reserved.