2010-12-23 6 views
2

ActiveMQ-CPP 및 stomp 프로토콜을 사용하여 내구성이 강한 소비자 및 생산자를 만드는 데 문제가 있습니다. 스톰프 (stomp)를 사용하여 HornetQ에 연결을 시도하고 있으며, 내구성이없는 상태에서 메시지를 보내고받을 수 있습니다. 메시지의 CMSDeliveryMode와 함께 전달 모드를 영구적으로 설정하고 일반 소비자 대신 DurableConsumer를 생성하여 내구성이있는 프로듀서를 변경하려고 시도했습니다. 그러나 JBoss JMX-Console을 살펴보면 둘 다 내구성이 떨어졌습니다 (메시지는 비 내구성으로 분류되고 소비자는 비 내구성으로 구독 됨).ActiveMQ-cpp 및 stomp의 내구성 문제

나는 심지어 StompDurableTest 통합 테스트를 시도하고 20 개의 메시지 중 10 개 (소비자가 활성화되었을 때 보낸 메시지) 만 받았습니다. 그래서 시험은 실패했습니다.

통합 테스트가 작동하지 않으므로 코드가 아닌 ActiveMQ-cpp 또는 Stomp 구성과 관련이 있다고 생각합니다. 내구성을 위해 무엇인가 놓치고 있습니까? 사전에

감사합니다,

사미

답변

1
HornetMQ가 작동하지만 말벌은/주제 및/큐 접두사를 좋아하지 않기 때문에 나는 다른 사람들이 대상 이름에 문제가 있었 것을 본 적이 방법에 대한 확실하지

CMS가 ActiveMQ를 사용하기 위해 추가합니다.

또 다른 사실은 Stomp를 사용하면 clientId와 구독 ID가 일치해야하며 연결될 때마다 동일하게 유지된다는 것입니다.

감사 팀의 응답을

www.fusesource.com

+0

감사합니다 팀. 이미/queue/및/topic /을 jms.queue로 변경했습니다. & jms.topic. ActiveMQ 소스에서, 그리고 내구성 모드에서는 행운없이 subscriptionName을 client-id로 설정하십시오. 소비자가 활동 중일 때 성공적으로받을 수 있습니다. 문제는 그것이 구독 중이며 활동하지 않을 때입니다. – Sami