티스토리 뷰

아파치 activeMQ 를 쓰다보면

org.apache.camel.component.direct.DirectConsumerNotAvailableException: No consumers available on endpoint: Endpoint[direct://]. Exchange[Message: [Body is null]]

이런 에러를 만나볼 수 있을 것이다.

말그대로 엔드포인트에서 사용가능한 소비자가 없다는 것이다.

소비를 하려고하는 없다는거지.. 소비라는 말이 나와서 돈을 써야 하나.. 라고 생각할텐데.. message queue에서는 소비라는 말을 쓴다.

한마디로 Null Pointer 처럼 참조해서 쓰려고 하는데 대상이 없다는 것이다.

그럼 대상을 만들어 주면 되겠네?

분명히 파일을 덮어씌운거 같은데... 하고 파일을 열어서 보면 수정한게 없다.

뜨억~

왜 그러지.. 보통 이런문제다. 소스를 배포 했는데 막상 열어보면 추가된게 안보인다.

이러한 경우 

org.apache.camel.component.direct.DirectConsumerNotAvailableException: No consumers available on endpoint: Endpoint[direct://]. Exchange[Message: [Body is null]]

이런 메시지를 만날 수 있다.

대개 소스관리를 대충 하거나 잘 못해서 이런일이 발생한다. 제발 소스 관리좀 잘 하자. 동일한 파일이 2개 있거나 해서 정작 가야할 파일이 안가고 엉뚱한 파일을 업로드 하거나 하면 저런일이 발생한다. 제발 소스 관리를 잘 하자.

자. 차분하게 다시 처음부터.. 소스 정리 부터 하고..

==========================================================================

결론은 클래스가 없다는 것이다. 뭔가 문제가 있다. 오타등.

나같은 경우는 데몬이 올라올때 클래스파일명에 오타가 있어서 java.lang.ClassNotFoundException 가 발생했다.

따라서 해당 클래스를 찾지 못했고 자연스럽게 위와같은 에러가 발생했다. 

오타를 수정하고 데몬 재시작을 했더니 Exception이 발생안했고 위의 에러도 사라졌다.

데몬 로그에서 Exception을 검색해서 안나올때 까지 찾고 수정해야 한다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함