BLOG ARTICLE Queue | 1 ARTICLE FOUND

  1. 2008/04/25 JMS Queue Extractor

JMS Queue Extractor

DEVELOPMENT 2008/04/25 13:32

사용자 삽입 이미지



예전에 이런 질문이 들어왔습니다.

고객사에서 현재 다양한 요구사항이 있습니다만 -EAI에 대해 어슬프게 알아서- 선무당들이 엔지니어 잡습니다.

메세지 큐 제어에 관한 기술적인 방법에 관한 것 인데요...

Queue의 최대 보관할 수 있는 개수가 100개 라고 가정하고, 50개의 메시지가 Queue에 찼을 경우 Receiver가 Queue에서 메시지를 추출해서 처리하는 요건입니다.

Source에서 EAI로 보내게 되면 즉시 Target으로 전송하지 않고 EAI가 메시지를 Holding 하고 있다가 어떤 조건에 만족하게 되면 그 메시지(들)을 전송하게끔 하는게 목적입니다. Source에서 제어하면 되는데 굳이 EAI에서 처리해 주기를 원하는 것 입니다.

일반적인 큐 제어 방법으로, Source coding 수준(Java sample code)의 질의 응답을 바라고 메일 드리는 겁니다.^^;

감사합니다.

제가 한 답변은 다음과 같습니다.

 

큐에 일정한 메시지가 차게 되면 그 수만큼을 추출하는 JMS Program입니다.
JMS Configuration의 flow control도 비슷한 기법이나 정확한 메시지 갯수를 추출해오는 것은 어려워 보입니다.

첨부된 파일은 QueueExtractor와 JMS에 데이터를 보내고 받을 수 있는 샘플파일입니다.
모두 compile, run script를 포함시켜 놓았습니다.

QueueExtractor기법은 JMX라는 것을 이용하여 해당 queue의 current message size를 모니터링하고 있다가
큐에 일정 메시지(10개)가 차게 되면 Receiver program을 구동시켜 synchronous하게 데이터를 추출합니다.

QueueExtractor.zip파일의 run 파일을 여신 후 JMS와 WebLogic Host설정 정보를 입력하신 후 테스트해보세요.
ServerName과 추출갯수, receiver의 host url, jms queue명은 하드 코딩 되어 있으니 필요하다면 고치셔야 합니다.

엔지니어 중에 자바와 WebLogic JMS에 대하여 경험있는 엔지니어에게 테스트를 시키십시오.

궁금하신 사항은 바로 전화해 주세요.
감사합니다.

첨부되는 소스(Queue Extractor) :




크리에이티브 커먼즈 라이센스
Creative Commons License
2008/04/25 13:32 2008/04/25 13:32