【发布时间】:2013-01-11 20:09:26
【问题描述】:
我有 2 个使用请求-回复模式的应用程序(客户端和服务器)。
客户端向服务器发送一个请求,消息 ID 设置为:ID=Hostname-52991-1357677886768-3:1:2:1:1。
现在客户端必须收听相关 ID 设置为相同值的消息。由于该值包含特殊字符 (:),因此我必须对该值进行编码(使用 UTF-8)。
设置 JMS 选择器,这是一个 SQL 92 谓词,用于过滤代理中的消息。您可能需要将特殊字符(如 =)编码为 %3D
所以我猜选择器应该看起来像JMSCorrelationID='ID=Hostname-52991-1357677886768-3:1:2:1:1',编码后的选择器应该看起来像JMSCorrelationID='ID%3AHostname-52991-1357677886768-3%3A1%3A2%3A1%3A1'。
我已经挣扎了几个小时,搜索并阅读了我能找到的所有内容,但我无法让这个东西工作,它让我发疯。
仅使用 ASCII 字符,如 abcd 有效。
【问题讨论】:
标签: jms activemq correlation spring-jms jmstemplate