소개
이 가이드라인은 메시지 구동 Bean 디자인에 초점을 둡니다. 메시지 구동 Bean을 식별하고 모델링하는 방식과 같은 메시지 구동 Bean에 대한 추가 안내는 중간 산출물 가이드라인: 메시지 구동 Bean에서 제공합니다. EJB에 대한 일반 안내는 중간 산출물 가이드라인: EJB(Enterprise JavaBean)에서 제공합니다.
메시지 구동 Bean은 인터페이스 오퍼레이션을 통해 직접 호출되기 보다는 메시지를 통해 간접적으로 호출되므로, 디자인은 메시지 형식 구현과 메시지 응답 동작에 대한 설명을 수반하며 인터페이스 오퍼레이션 구현은
수반하지 않습니다.
메시지 전달 사용 시 한 가지 제한사항은 메시지의 생산자 및 이용자(메시지 구동 Bean)가 동일한 트랜잭션에 관여할 수 없다는 사실입니다. 생산자는 메시지를 대기열에 위치시키기 위해 트랜잭션을 사용하며 메시지
구동 Bean은 별도의 트랜잭션을 사용하여 메시지 소비 결과를 확약할 수 있지만, 이러한 것은 항상 별도의 트랜잭션이어야 합니다.
메시지 구동 Bean은 Bean 관리 또는 컨테이너 관리 트랜잭션을 사용할 수 있습니다. 보통 컨테이너 관리 트랜잭션이 더 간단하므로 선호되는 접근 방식입니다. 자세한 안내는 기법: EJB(Enterprise JavaBean) 디자인을 참조하십시오.
각 메시지 구동 Bean은 다중 인스턴스를 가질 수 있는 활성 클래스입니다. 각 메시지 구동 Bean 인스턴스는 동시에 실행될 수 있으므로, 하나의 인스턴스에서 수신하는 메시지의 처리는 다른 인스턴스에서 처리하는
메시지 이전이나 이후에 완료될 수 있습니다.
이것은 생성된 것과는 다른 순서로 메시지가 소비될 수 있음을 의미합니다. 메시지 구동 Bean의 디자인 시 이 가능성을 고려해야 합니다.
|