2014-01-06 3 views
0

Camel 및 ActiveMQ를 처음 사용합니다. 내가 ActiveMQ를 통해 다른 응용 프로그램에서 어떤 메시지를 사용하려고 시도 일부 자바 코드를 가지고 :ActiveMQ가 시작되지 않은 이유는 내 전쟁 파일 (낙타 코드 포함)이 JBoss 7에 배포되지 않는 이유는 무엇입니까?

ConsumerTemplate consumer; 
@Consume(uri="activemq:somename") 
public void process(Map<String, String> map) { 

//do some fancy stuff 
} 

이 코드를 포함하는 클래스 전쟁 파일에; 내 ActiveMQ 서버가 실행 중일 때 JBoss 7에 멋지게 배포되며 코드가 올바르게 호출됩니다. 서버가 실행되고 있지 않으면 배포가 실패하고 다음 오류가 발생합니다.

Did not receive a response to the deployment operation 
within the allowed timeout period [300 seconds]. 

로그에 다른 오류가 없습니다. 이 항목은 전체 응용 프로그램에서 유일한 ActiveMQ 참조입니다. 이고 배포가 실패합니다.

내 질문은 : 왜 ActiveMQ 서버가 시작되지 않은 경우 시작되지 않으며 어떻게 서버를 시작하지 않아도 시작할 수 있습니까?

답변

1

코드는 소비자가이 브로커에 연결하고, 실패 할 경우 잠시 동안 중단 될 수 있습니다 시작이 코드

@Consume(uri="activemq:somename") 

와의 ActiveMQ 브로커에 대한 소비자 있습니다. 당신은 낙타 JMS의 문서에서 자세한 내용을 참조하십시오

@Consume(uri="activemq:somename?asyncStartListener=true") 

에 리스너 비동기를 시작하는 낙타를 알 수

관련 문제