1

我有 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'

我现在已经挣扎了几个小时,搜索并阅读了我能找到的所有内容,但我无法让这个东西工作,它让我发疯。

abcd仅使用类似作品的ASCII 字符。

4

1 回答 1

1

您的 JMS 选择器选择器是 HTML 编码的,它不适用于底层系统(因为它永远不会匹配消息)。表达式 JMSCorrelationID='ID=Hostname-52991-1357677886768-3:1:2:1:1' 应该按原样工作。

于 2013-01-11T12:09:26.857 回答