perl - 如何将事务与 Stomp 和 ActiveMQ(和 Perl)一起使用?

标签 perl activemq stomp

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

即使我通过 Stomp 发送 BEGIN 命令,使用 SEND 发送的消息也会立即发布,如果我 ABORT 事务,则不会发生任何事情。

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

我运气不好?

最佳答案

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

STOMP 交易的诀窍是确保您发送的每条消息或您做出的每条确认都包含交易 ID header 。见transaction handling section of the STOMP protocol .

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

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

相关文章:

perl - 在使用("1"时,不能将字符串 "strict refs")用作HASH引用

html - Perl 模块 HTML::Template 可以使用 <TMPL_VAR NAME=...> 之外的其他语法吗?

java - Spring批量写入ActiveMQ

java - 无法将消息发送到 activemq 中的 xmpp 队列

Java.lang.ClassNotFoundException : Class io. 未找到reactivex.functions.Action

使用 LWP::UserAgent 通过代理的 Perl HTTPS

xml - Perl 5.8.8 不支持 XML::LibXML 吗?

java - 是否可以获取远程代理上的队列列表?

java - Spring-WebSockets 上的 STOMP 与 WAMP

Spring WebSockets ActiveMQ convertAndSendToUser