2012-09-10 3 views
2

브로커가 Windows 7 32 비트에서 서비스로 실행되는 C# framework 4.0을 사용하여 안정 버전과 개발 버전에서 모두 다음 오류가 표시됩니다.Apollo Stomp ActiveMQ가 잘못된 임시 대상 이름을 만듭니다.

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 

이의 최종 결과는 내가 클라이언트의 호출 블록 및 I 예외에 응답하기 전에 세션이 시간 초과로 일시적으로 큐를 사용할 수 없습니다 생각합니다.

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

대기열 이름은 어떻게 지정합니까? 이것은 파싱 문제 또는 인코딩과 관련이있는 것처럼 보입니다. – Buchi

+0

Apache.NMS.Stomp v1.5.3 릴리스를 사용해 보셨습니까? –

+0

제공된 .net api는 임시 대상의 이름 지정을 숨 깁니다. 나는 클라이언트 API 계층의 버그 또는 브로커와의 구성 불일치를 가정합니다 (적어도 상자 밖으로). – user1658960

답변

1

해결 방법으로 Apache.NMS.Stomp 스위치 대신 Apache.NMS.ActiveMQ를 사용하십시오. Apache Apollo는 61613 포트의 STOMP 및 ActiveMQ 프로토콜을 모두 지원합니다.

+0

빠른 답장을 보내 주셔서 감사합니다. 우리는 브로커 중개자를 사용하여 Html5 및 이전 스크립팅 클라이언트를 지원하므로 Stomp over ws가 우리의 주요 필요 사항입니다. 현재 해결 방법은 클라이언트 세션에 명명 된 대기열을 사용하고 나중에 정리 서비스에서 수동으로 삭제하는 것입니다. 하지만 이상적입니다. – user1658960