2013-04-18 1 views
0

glassfish에 배포 할 때 ActiveMQ 권고 메시지를 사용하는 MDB가 있습니다.tomEE mdb의 ActiveMQ 권고 메시지 사용

하지만이 MDB는 tomee에 배포 할 때 모든 권고 메시지를 사용하지 않습니다. 내가 켤 필요가있는 것이 있습니까?

@MessageDriven(mappedName = "ActiveMQ.Advisory.Consumer.Queue", activationConfig = { 
     @ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Topic"), 
     @ActivationConfigProperty(propertyName = "destination", propertyValue = "ActiveMQ.Advisory.Consumer.Queue.User.*") }) 
public class AdvisoryMdb implements MessageListener { 
    private final Logger logger = LoggerFactory.getLogger(getClass().getName()); 

    @Override 
    public void onMessage(Message message) { 
     logger.info("onMessage() {}", message); 
    } 
} 

편집 (TomEE에서 나는 성공적으로 생산하고 난에 대한 권고하려는 이러한 큐에 메시지를 사용하는 관리) : 내가 독립형 클라이언트와이 자문 항목 중 하나에 소비 테스트하고 있어요 메시지를 예상대로. 그래서 자문 메시지가 성공적으로 보내집니다. 단지 mdb가 적절하게 선택하지 않습니다.

답변

0

는 우연히 나는 @MessageDriven 주석에서

mappedName = "ActiveMQ.Advisory.Consumer.Queue" 

를 제거하려고 시도하고 갑자기는 TomEE와 글래스 피쉬 모두에서 작동합니다. 내가 왜 그것을 처음에 추가했는지 확신 할 수 없다. 글래스 피시도 필요 없다고 생각한다.

1

어떤 권고 메시지를 보내시겠습니까? 소비자 대기열에 & 정지 메시지를 시작으로

문서 here을 살펴보면 ... 내가 볼 ActiveMQ.Advisory.Consumer.Queue는 의미를 나열됩니다. 목표는 ActiveMQ.Advisory.Consumer.Queue.User.*입니다. 따라서 User이라는 대기열이 있습니까? 하나의 대기열입니까 아니면 User 아래에 여러 개의 대기열이 있습니까?

또한 문서를 읽는 동안 몇 년 동안 자문 대기열 이름이 변경된 것으로 보입니다. 플랫폼 전체에서 ActiveMQ 버전을 확인하고 사과와 사과를 비교할 수 있습니까? 또한 나열된 설명서 페이지에서 일부 권고가 비활성화되었는지 궁금해합니다. 특정 큐를 으로 지정할 수는 있지만은 사용하지 않도록 설정되어 있지만 모든 권고를 명시 적으로 사용하도록 설정하고 해당 큐가 도움이되는지 확인할 수도 있습니다.

+0

이 문제를 조사해 주셔서 감사합니다. 나는이 문제를 직접 해결할 수있었습니다. –

+0

ActiveMQ.Advisory.Consumer.Queue.User. *에서 수신 대기한다는 것은 "User. *"패턴과 일치하는 대기열에서 소비자 이벤트를 선택한다는 것을 의미합니다. –

관련 문제