如何通过 AJAX 在 ActiveMQ 中设置 TimeToLive 参数?

Posted

技术标签:

【中文标题】如何通过 AJAX 在 ActiveMQ 中设置 TimeToLive 参数?【英文标题】:How to set TimeToLive Parameter in ActiveMQ via AJAX? 【发布时间】:2012-11-14 07:28:14 【问题描述】:

我对 ActiveMQAJAX 接口有一个关于消息生命周期的问题。在 AMQ Web 界面中,我可以为消息设置 TimeToLive 值(以毫秒为单位)。 我已经发现,我可以通过 REST 使用这个参数:

curl -vd  body="test" "http://localhost:8161/demo/message/TESTQUEUE?type=queue&JMSTimeToLive=500&JMSPersistent=-1"

此示例消息将持续 500 毫秒

但是如何使用 AMQ Ajax 接口来设置这些参数呢? 发送消息的 javascript 函数只提供了两个参数

amq.sendMessage(myDestination,myMessage);

信息:http://activemq.apache.org/ajax.html

不幸的是,myDestination 不是 URL,它类似于“queue://”

感谢四位的帮助

问候 罗尔夫

【问题讨论】:

【参考方案1】:

AJAX 客户端的当前实现不提供发送带有生存时间的消息的可能性。

消息的离开时间基本上是通过属性“JMSExpiration”在message property(标题)中设置的 目前,如果您查看amq.js code,您会看到没有允许您定义标头或生存时间的 API。

将这个功能添加到客户端应该相对容易。 Check the code,您可能只需为您的应用程序硬编码 TTL。最后,它只是执行一个 post 命令,就像您执行 REST 调用一样。

【讨论】:

以上是关于如何通过 AJAX 在 ActiveMQ 中设置 TimeToLive 参数?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Mule 中设置 ActiveMQ 消息头?

如何在 Spring Boot 中设置 ActiveMQ 端口?

在 Mule 中设置 ActiveMQ pollingFrequency

我无法从通过 Ajax 创建的选择元素中设置值或获取值

如何在ajax请求中设置特殊的RequestHeader

如何在 Django 中设置 AJAX 调用的视图/路径?