我试图用ActiveMQ替换一些定制的消息队列,我需要从Perl与他们(很多)交谈。 ActiveMQ提供了一个Stomp接口(interface),Perl提供了Net::Stomp,所以看起来应该没问题,但事实并非如此。

即使我通过Stomp发送了BEGIN命令,使用SEND发送的消息也会立即发布,并且即使我中止交易,也不会发生任何事情。

我找不到任何明确的答案,表明不可能,不可能或存在一些相关的配置。另外,Stomp似乎不是检查服务器错误响应的好协议(protocol)。

我不走运吗?

最佳答案

顺便说一句,问Perl/ActiveMQ/Stomp问题的最佳地点是ActiveMQ user forum,因为许多Perl-Stomp人士都在那里闲逛。

STOMP事务的技巧是确保您发送的每条消息或发出的每条确认都包括事务ID头。参见transaction handling section of the STOMP protocol

原因是,如果您的客户端是多线程的,那么使用STOMP可以同时进行许多事务-以及一些未处理的操作。

关于perl - 如何在Stomp和ActiveMQ(和Per​​l)中使用事务?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/79482/

10-10 18:58