Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Apollo Stomp ActiveMQ创建了无效的临时目标名称_C#_Activemq_Stomp_Apollo - Fatal编程技术网

C# Apollo Stomp ActiveMQ创建了无效的临时目标名称

C# Apollo Stomp ActiveMQ创建了无效的临时目标名称,c#,activemq,stomp,apollo,C#,Activemq,Stomp,Apollo,使用C#framework 4.0,在Windows 7 32位上代理作为服务运行,我在稳定版本和开发版本上都看到了以下错误 2012-09-09 20:25:03,524 | WARN | Internal Server Error: org.apache.activemq.apollo.util.path.PathParser$PathException: Invalid destination: 'ID\cEros201-30171-634828191032886763-1\c0\c1'

使用C#framework 4.0,在Windows 7 32位上代理作为服务运行,我在稳定版本和开发版本上都看到了以下错误

2012-09-09 20:25:03,524 | WARN  | Internal Server Error: org.apache.activemq.apollo.util.path.PathParser$PathException: Invalid destination: 'ID\cEros201-30171-634828191032886763-1\c0\c1', it does not match regex: [ a-zA-Z0-9\_\-\%\~\:]+ | org.apache.activemq.apollo.stomp.StompProtocolHandler | hawtdispatch-DEFAULT-2
2012-09-09 20:25:03,542 | WARN  | Internal Server Error: org.apache.activemq.apollo.util.path.PathParser$PathException: Invalid destination: 'ID\cEros201-30171-634828191032886763-1\c0\c1', it does not match regex: [ a-zA-Z0-9\_\-\%\~\:]+ | org.apache.activemq.apollo.stomp.StompProtocolHandler | hawtdispatch-DEFAULT-3
这样做的最终结果是,我无法使用临时队列,因为客户端上的调用阻塞,会话在我能够响应异常之前超时

Versions 
    Client dlls Stomp 1.5.2 NMS 1.5.0 
    Broker server apache-apollo-1.4 and apache-apollo-99-trunk-SNAPSHOT

作为一种解决方法,不使用Apache.NMS.Stomp,而是切换到Apache.NMS.ActiveMQ。Apache Apollo在61613端口上同时支持STOMP和ActiveMQ协议。

您如何指定队列名称?这似乎是一些解析问题或与编码有关。您是否尝试使用Apache.NMS.Stomp v1.5.3版本提供的.net api隐藏了为临时目的地指定名称。我假设客户端api层中有一个bug,或者配置与代理不匹配(至少是开箱即用)。感谢您这么快的回复。我们正在使用代理中介来支持Html5和更老的脚本客户端,因此Stomp over ws是我们的主要需求。我目前的解决方法是为客户端会话使用命名队列,并在以后的清理服务中手动删除它们。但并不理想。