소개
JMS(Java Message Service)는 컴포넌트 간의 커뮤니케이션에 사용될 수 있습니다. 비동기 커뮤니케이션 및 보증된 전달과 같은 JMS의 기능에서는 엔터프라이즈 응용프로그램의 일반 선택사항으로
작성합니다. JMS는 동기 커뮤니케이션에도 사용될 수 있지만, 비동기 사용이 주요합니다.
이 가이드라인은 JMS 사용 시기, 모델링하는 방식 및 적용 가능한 디자인 고려사항을 설명합니다.
JMS에 대한 자세한 정보는 개념: JMS를 참조하십시오.
JMS 모델링
JMS 클라이언트는 클래스로 모델링됩니다. 다음 다이어그램은 JMS를 사용하여 메시지를 전송하기 위한 메시지 생성자의 일반적인 상호 작용을 예시합니다. 예에서는 목적지로 대기열을 사용합니다.
JMS 클라이언트는 메시지 리스너 인터페이스를 구현해야 합니다. JMS 제공자는 메시지가 도착할 때마다 특수 메소드 onMessage가 호출되는지 확인합니다.
다음 다이어그램에서는 JMS 이용자 클라이언트의 일반 설정을 표시합니다.
JMS 디자인
JMS 응용프로그램을 디자인하는 두 가지 기본 방식은 지점간 및 공개-등록 방식입니다.
지점간 모델에서는 JMS를 사용하여 하나의 클라이언트로 메시지를 전달합니다.
메시지 생성자는 메시지를 하나의 대기열로 전송하여 메시지 수신자와 통신합니다. 개념적으로 대기열에는 오직 하나의 이용자가 있지만, 많은 JMS 프로바이더는 여러 이용자가 로드 밸런싱을 지원하게 합니다. 여러
이용자가 사용되는 경우, 각 메시지는 오직 한 명의 이용자에 의해 처리됩니다. 메시지가 소비되거나 만기될 때까지 대기열에 보유됩니다.
공개-등록 모델에서 커뮤니케이션 패턴은 여러 생산자가 메시지를 여러 이용자에게 전송할 수 있게 합니다. 이용자는 주제를 등록하고, 미들웨어는 메시지를 이용자에게 전달합니다.
지점간 모델과 대조적으로, 공개 및 등록 모델에서는 모든 클라이언트가 수신할 때까지 주제의 메시지를 보관합니다.
참고: JMS 1.1 이후에는 동일한 JMS 응용프로그램에서 이 두 가지 모델을 결합시킬 수 있습니다.
|