EJB 3.1 메시지 구동 Bean 작성 마법사를 사용하여
메시지 구동 Bean을 작성하고 이를 프로젝트에 추가할 수 있습니다.
시작하기 전에
작업공간에 Java™ 프로젝트, EJB 프로젝트 또는 웹 프로젝트가 작성되어 있어야 합니다.
이 태스크 정보
메시지 구동 Bean과 세션 Bean 사이의 주된 차이점은
메시지 구동 Bean에는 로컬 또는 원격 인터페이스가 없다는 것입니다. 대신,
메시지 구동 Bean에는 Bean 클래스만 있습니다.
프로시저
- Java EE 퍼스펙티브에서 프로젝트를 마우스 오른쪽 단추로 클릭한 후
을 선택하십시오. EJB 3.1 메시지 구동 Bean 작성 마법사가 열립니다.
- 소스 폴더 필드에서 새 Bean의
소스 폴더를 선택하십시오.
- 패키지 필드에서 새 Bean의 패키지 이름을
입력하십시오.
- 이름 필드에 메시지 구동 Bean에 지정할 이름을
입력하십시오. 관례상, Bean 이름은 대문자로 시작합니다.
- 대상 이름 필드에서 대상에 지정할 이름을 입력하십시오.
- JMS(Java messaging service)를 사용하려면 JMS를 선택하거나
다른 메시지 전달 서비스를 사용하려면 JMS를 지우십시오.
- 대상 유형 필드에서 큐 또는 주제 대상 유형을
선택하고 다음을 클릭하십시오.
- 메시지 구동 Bean 특정 정보 페이지의 트랜잭션
유형 필드에서 컨테이너 관리 트랜잭션의 경우 컨테이너를,
Bean 관리 트랜잭션의 경우, Bean을 선택하십시오.
- 완료를 클릭하십시오. Java 편집기에 메시지 구동
Bean 클래스에 대한 기본 코드가 포함됩니다.
package com.ibm.test;
import javax.ejb.ActivationConfigProperty;
import javax.ejb.MessageDriven;
import javax.jms.Message;
import javax.jms.MessageListener;
/**
* Message-Driven Bean implementation class for: TestMdb
*
*/
@MessageDriven(
activationConfig = { @ActivationConfigProperty(
propertyName = "destinationType", propertyValue = "javax.jms.Queue"
) })
public class TestMdb implements MessageListener {
/**
* Default constructor.
*/
public TestMdb() {
// TODO Auto-generated constructor stub
}
/**
* @see MessageListener#onMessage(Message)
*/
public void onMessage(Message message) {
// TODO Auto-generated method stub
}
}
기본 메시지 구동 Bean 코드 예제에서 다음이 중요한
참고사항입니다.
- EJB 3.1에서 @MessageDriven 어노테이션은 활성 구성 매개변수의 세트를
지정합니다. 이 매개변수는 메시지 구동 Bean을 구동하는 데 사용되는
특정 유형의 JCA 1.5 어댑터에 대해 고유합니다. 일부 어댑터에는
사용자가 메시지 구동 Bean의 대상 큐를 지정할 수 있는 구성 매개변수가
있습니다. 어댑터가 이를 지정하지 않는 경우,
XML 바인딩 파일에서 <message-destination> 항목을 사용하여 대상 이름을
지정해야 합니다.
- Bean 클래스는 단 하나의 메소드인 onMessage를 정의하는
MessageListener 인터페이스를 구현해야 합니다. 메시지가 해당 MDB가
모니터하는 큐에 도착하면 컨테이너는 Bean 클래스의 onMessage 메소드를 호출하고,
입력 메시지를 매개변수로 전달합니다.
- @MessageDriven 어노테이션의 ActivationConfigProperty는 메시지 전달
시스템 특정 구성 정보를 제공합니다.