有什么办法可以动态设置一条等待值,让消息从mule发送到Active mq?
我有一个要求,我需要在发送到Active mq中的队列之前等待消息。我需要动态地使等待值配置可以来自变量
我知道我可以sleep()
groovy
使用sleep()
来暂停消息,我看过几个例子,但我不想使用groovy或select
或任何有点黑客这样做。
连接器级别还有其他方法吗?
答案 0 :(得分:1)
我认为你需要在jms组件中使用AMQ_SCHEDULED_DELAY
标头来设置延迟
您可以通过流量变量将其设置为标题
您可以在此处找到一个可以帮助您https://dzone.com/articles/delay-with-jms
此处如何设置组件级别的延迟
<message-properties-transformer doc:name="Message Properties">
<add-message-property key="AMQ_SCHEDULED_DELAY" value="#[flowVars.delay]"/>
</message-properties-transformer>
<json:object-to-json-transformer doc:name="Object to JSON"/>
<jms:outbound-endpoint queue="testqueue" connector-ref="Active_MQ" doc:name="JMS"/>
现在在发送骡子流之前设置流量变量