JMS 활성화 스펙 [Settings]
메시지 구동 Bean을 사용하여 JCA(Java™ EE Connector Architecture) 1.5를 통해 기본 메시징 제공자와 통신하려는 경우 JMS 활성 스펙을 작성합니다. JCA는 WebSphere® Application Server와 같은 애플리케이션 서버와 엔터프라이즈 정보 시스템 간의 Java 연결성을 제공합니다. JMS 제공자를 Java EE 애플리케이션 서버와 통합하는 표준화된 방법을 제공하며, 데이터 교환을 위한 프레임워크에 엔터프라이즈 시스템을 제공합니다. 여기서 데이터는 메시지 양식으로 전송됩니다.
이름, JNDI 이름, 대상 JNDI 이름 또는 대상 검색 및 인증 별명 이외의 모든 활성화 스펙 구성 특성은 연관된 EJB 2.1 이상 메시지 구동 Bean의 배치 디스크립터에서 적합하게 이름 지정된 활성화 구성 특성으로 대체됩니다. EJB 2.0 메시지 구동 Bean의 경우, 대상 유형, 등록 기간, 수신확인 모드 및 메시지 선택기는 배치 디스크립터에서 해당되는 요소로 대체됩니다. 각 Bean 유형에서 대상 JNDI 이름 또는 대상 검색 특성은 메시지 구동 Bean 바인딩에 지정된 값으로 대체될 수 있습니다.
활성화 스펙 특성은 기본 메시징 제공자가 메시지 구동 Bean의 애플리케이션이 연결되는 메시징 엔진을 선택하는 데 영향을 줍니다. 기본적으로, 환경에서는 애플리케이션이 버스에서 사용 가능한 메시징 엔진으로 자동 연결됩니다. 추가 구성 세부사항을 지정하여 연결 프로세스를 제어할 수 있습니다(예: 특별한 부트스트랩 서버 식별, 사용 가능한 메시징 엔진의 하위 그룹에 대한 연결 제한, 가용성 또는 성능 향상 또는 수신된 메시지의 순차적 처리 보장).이를 수행하는 방법에 대한 정보는 "JMS 애플리케이션이 버스의 메시징 엔진에 연결하는 방법" 주제를 참조하십시오.
구성 탭
구성 탭은 이 오브젝트에 대한 구성 특성을 나타냅니다. 런타임 환경을 중지한 후 다시 시작하더라도 이 특성 값은 유지됩니다. 구성 변경사항을 런타임 환경에 적용하는 방법에 대한 정보는 Information Center 태스크 설명을 참조하십시오.
일반 특성
범위
애플리케이션 서버가 자원 오브젝트를 사용할 수 있는 최상위 토폴로지 레벨을 지정합니다.
정보 | 값 |
---|---|
필수 | 아니오 |
데이터 유형 | String |
제공자
JMS(Java Message Service)를 기본으로 하는 비동기 메시징을 사용 가능하게 하는 JMS 제공자를 지정합니다. JMS 큐 또는 토픽 대상에 대한 연결을 작성하기 위한 J2EE 연결 팩토리를 제공합니다. JMS 제공자 관리 오브젝트는 연관된 JMS 제공자에 대한 JMS 자원을 관리하는 데 사용됩니다.
정보 | 값 |
---|---|
필수 | 아니오 |
데이터 유형 | String |
이름
자원에 대한 필수 표시 이름입니다.
정보 | 값 |
---|---|
필수 | 예 |
데이터 유형 | String |
JNDI 이름
자원에 대한 JNDI 이름입니다.
정보 | 값 |
---|---|
필수 | 예 |
데이터 유형 | String |
설명
자원에 대한 선택적 설명
정보 | 값 |
---|---|
필수 | 아니오 |
데이터 유형 | 텍스트 영역 |
대상 유형
정보 | 값 |
---|---|
필수 | 예 |
데이터 유형 | 드롭 다운 목록 |
범위 |
|
대상 검색
대상 유형 특성에서 대상 유형을 선택하십시오.
JMS를 지원하는 자원 어댑터의 경우에는 자원 어댑터가 JMS 대상에서의 메시지를 제공할 수 있도록 javax.jms.Destinations를 활성화 스펙과 연관시켜야 합니다. 이 경우에 관리자는 javax.jms.Destination 인터페이스를 구현하며 이를 JNDI에 바인드하는 J2C 관리 오브젝트를 구성합니다.
setDestination(javax.jms.Destination) 메소드를 구현하는 ActivationSpec 클래스를 사용하도록 J2C 관리 오브젝트를 구성할 수 있습니다. 이 경우에 대상 검색을 지정할 수 있습니다(javax.jms.Destination을 구현하는 J2C 관리 오브젝트의 JNDI 이름).
정보 | 값 |
---|---|
필수 | 예 |
데이터 유형 | String |
연결 팩토리 검색
연결 팩토리의 JNDI 이름입니다.
정보 | 값 |
---|---|
필수 | 예 |
데이터 유형 | String |
메시지 선택기
JMSType='car' AND color='blue' AND weight>2500
선택기 문자열은 JMS 메시지 헤더 필드와 메시지 특성 필드를 참조할 수 있습니다. 메시지 선택기는 메시지 본문 값을 참조할 수 없습니다.
널 값(빈 문자열)은 메시지 이용자에 해당되는 메시지 선택기가 없음을 표시합니다.
정보 | 값 |
---|---|
필수 | 아니오 |
데이터 유형 | String |
버스 이름
정보 | 값 |
---|---|
필수 | 아니오 |
데이터 유형 | 사용자 정의 |
수신확인 모드
메시지가 삭제되면 수신확인이 전송됩니다.
- Bean 완료 시 메시지를 삭제하도록 시스템이 구성된 경우 해당 메시지는 Bean의 새 인스턴스로 디스패치되므로 해당 메시지를 처리할 수 있는 다른 기회가 생깁니다.
- Bean 시작 시 메시지를 삭제하도록 시스템이 구성되면 해당 메시지가 유실됩니다.
서비스 품질이 최상의 비지속적 상태로 설정된 경우 Bean이 시작되면 메시지가 삭제됩니다. 다른 모든 서비스 품질의 경우 Bean이 완료되면 메시지가 삭제됩니다.
정보 | 값 |
---|---|
필수 | 아니오 |
데이터 유형 | 드롭 다운 목록 |
범위 |
|
대상
정보 | 값 |
---|---|
필수 | 아니오 |
데이터 유형 | String |
대상 유형
정보 | 값 |
---|---|
필수 | 아니오 |
데이터 유형 | 드롭 다운 목록 |
범위 |
|
대상 중요도
정보 | 값 |
---|---|
필수 | 아니오 |
데이터 유형 | 드롭 다운 목록 |
범위 |
|
대상 인바운드 전송 체인
선택한 메시징 엔진이 애플리케이션과 같은 서버에 있는 경우 직접 프로세스 내부 연결이 이루어지고 이 전송 체인 특성은 무시됩니다.
- InboundBasicMessaging
- 표준 TCP/IP 연결(JFAP-TCP/IP)을 사용하는 연결 지향 프로토콜입니다. 여기에는 두 단계 트랜잭션(원격 XA) 플로우에 대한 지원이 포함되어, 클라이언트 또는 서브 시스템에서 실행 중인 메시지 작성자 또는 이용자가 해당 클라이언트 또는 서버 시스템에서 관리되는 글로벌 트랜잭션에 참여할 수 있습니다. XA 플로우의 특정 용도는 하나의 서버에서 실행 중인 애플리케이션에서 두 번째 서버의 메시징 엔진으로의 액세스를 지원하는 것입니다. 이는 예를 들어, 첫 번째 서버에 적합한 메시징 엔진이 없는 경우입니다. 원격 XA 플로우를 사용하는 경우, 애플리케이션의 로컬 트랜잭션 조정자가 필요합니다.
- InboundSecureMessaging
- SSL(Secure Socket Layer)로 랩핑한 InboundBasicMessaging 프로토콜입니다.
정보 | 값 |
---|---|
필수 | 아니오 |
데이터 유형 | String |
제공자 엔드포인트
부트스트랩 서버에 연결하기 위해 사용되는 hostName:portNumber:chainName 구문을 포함한 콤마로 구분된 엔드포인트 트리플릿 목록. 예제: Merlin:7276:BootstrapBasicMessaging,Gandalf:5557:BootstrapSecureMessaging.
호스트 이름이 지정되지 않은 경우, localhost가 기본값으로 사용됩니다.
포트 번호가 지정되지 않은 경우, 7276이 기본값으로 사용됩니다.
프로토콜이 지정되지 않은 경우, BootstrapBasicMessaging과 같은 사전 정의된 체인은 기본값으로 사용됩니다.
정보 | 값 |
---|---|
필수 | 아니오 |
데이터 유형 | 텍스트 영역 |
최대 일괄처리 크기
정보 | 값 |
---|---|
필수 | 아니오 |
데이터 유형 | Integer |
범위 | 1 - 2147483647 |
엔드포인트당 최대 동시 MDB 호출
정보 | 값 |
---|---|
필수 | 아니오 |
데이터 유형 | Integer |
범위 | 1 - 2147483647 |
메시지 실패 반복 시 엔드포인트 자동 중지
이 매개변수를 사용하면 연속적으로 실패하는 메시지의 수가 지정한 한계에 도달할 때 엔드포인트를 자동 중지할 수 있습니다. 이렇게 하면 많은 메시지가 연속적으로 실패하게 되는 시스템 자원의 문제점과 메시지 자체의 문제점 때문에 실패하는 하나 이상의 메시지를 구별할 수 있습니다.
엔드포인트가 자동으로 중지하는 경우, 관리 콘솔 패널의 상태는 빨간색입니다. 재개를 클릭하여 수동으로 다시 시작해야 합니다.
엔드포인트가 다시 시작된 후 엔드포인트를 중시시켰던 모든 실패 메시지가 재시도됩니다. 구성된 경우, 메시지가 계속 실패하면 예외 대상으로 이동합니다.
사용 가능
정보 | 값 |
---|---|
필수 | 아니오 |
데이터 유형 | 부울 |
실패한 순차 메시지 임계값
메시지 실패 반복 시 엔드포인트 자동 중지 특성이 사용 가능이 아니면 이 특성을 사용할 수 없습니다.
정보 | 값 |
---|---|
필수 | 아니오 |
데이터 유형 | Integer |
실패 메시지 재시도 간 지연
실패 메시지 재시도 간에 지연을 설정하면 MDB 중지 전 예외 대상으로 불필요하게 이동하는 메시지 수가 줄어듭니다. 이동하는 메시지 수를 최소화하려면 대상에 메시지가 도착하는 예상 시간 간격보다 지연 시간을 더 늘리십시오.
메시지 실패 반복 시 엔드포인트 자동 중지 특성이 사용 가능이 아니면 이 특성을 사용할 수 없습니다.
정보 | 값 |
---|---|
필수 | 아니오 |
데이터 유형 | Integer |
범위 | 시간은 밀리초입니다. 0 값은 재시도 간 지연이 없음을 나타냅니다. |
등록 기간
정보 | 값 |
---|---|
필수 | 아니오 |
데이터 유형 | 드롭 다운 목록 |
범위 |
|
등록 이름
이 등록 이름은 지정된 클라이언트 ID 내에서 고유해야 합니다.
정보 | 값 |
---|---|
필수 | 아니오 |
데이터 유형 | String |
클라이언트 ID
정보 | 값 |
---|---|
필수 | 아니오 |
데이터 유형 | String |
등록 홈
정보 | 값 |
---|---|
필수 | 아니오 |
데이터 유형 | String |
참조에 의한 메시지 페이로드 전달
메시지를 수신하기 위해 이 활성화 스펙을 사용하는 애플리케이션은 다음 규칙을 따라야 합니다.
- 애플리케이션은 JMS 오브젝트 메시지에서 얻은 데이터 오브젝트를 수정하지 않습니다. 데이터 오브젝트는 읽기 전용으로만 취급됩니다.
정보 | 값 |
---|---|
필수 | 아니오 |
데이터 유형 | 부울 |
이 활성화 스펙을 사용하여 수신된 본래 메시지를 재전송하는 애플리케이션은 다음 규칙을 따라야 합니다.
- 애플리케이션은 JMS 오브젝트 메시지에서 데이터 오브젝트를 바꿀 수 있습니다(데이터 오브젝트가 메시지에 아직 설정되지 않은 경우). 애플리케이션은 데이터 오브젝트가 메시지에 설정된 후 수정하거나 바꾸지 않습니다.
- 애플리케이션은 writeBytes(byte[])에 대한 단일 호출을 사용하는 경우에만 JMS 바이트 메시지에서 바이트 배열을 바꿀 수 있습니다(바이트 배열이 메시지에 아직 설정되지 않은 경우). 애플리케이션은 바이트 배열이 메시지에 설정된 후 수정하거나 바꾸지 않습니다.
정보 | 값 |
---|---|
필수 | 아니오 |
데이터 유형 | 부울 |
미리 읽기
이용자에게 지정되는 메시지는 서버에서 잠겨 해당 대상의 다른 생성자가 이용할 수 없습니다. 이용자가 닫히기 전에 이용되지 않고 이 이용자로 지정되는 메시지는 서버에서 잠금 해제되어 다른 이용자가 수신할 수 있습니다.
JMS 대상에 미리 읽기 특성을 설정하여 개별 JMS 대상에 대한 이 특성을 대체할 수 있습니다.
정보 | 값 |
---|---|
필수 | 아니오 |
데이터 유형 | 드롭 다운 목록 |
범위 |
|
모든 서버에서 항상 MDB 활성화
이 특성은 MDB 애플리케이션이 애플리케이션에서 대상으로 설정한 버스의 멤버인 서버에서 실행될 때만 사용됩니다. 이는 MDB가 대상 버스의 멤버가 아닌 서버에서 실행 중일 때는 사용되지 않습니다.
MDB 애플리케이션이 대상 버스의 멤버인 서버에서 실행 중인 경우, 이 옵션을 사용하면 MDB 애플리케이션에서 서버가 실행 중인 메시징 엔진도 호스트하는지의 여부를 나타내는 메시지를 처리할 수 있습니다. 이 옵션이 사용되지 않는 경우, 실행 중인 로컬 ME가 없는 서버의 MDB 애플리케이션에서는 메시지를 처리하지 않습니다.
- 클러스터에서 처리 성능을 모두 사용하기 위해 클러스터의 모든 서버가 MDB 애플리케이션에서 메시지를 수신할 수 있습니다.
- 메시지의 순차적 처리를 보장하기 위해 한 번에 하나의 서버가 MDB 애플리케이션에서 메시지를 수신할 수 있습니다.
자세한 정보는 "메시지 구동 Bean을 클러스터에 연결하는 방법" 주제를 참조하십시오.
정보 | 값 |
---|---|
필수 | 아니오 |
데이터 유형 | 부울 |
재시도 간격
정보 | 값 |
---|---|
필수 | 아니오 |
데이터 유형 | Integer |
범위 | 1 - 2147483647 |
인증 별명
JCA(Java EE(Java Platform, Enterprise Edition) Connector Architecture) 인증 별명은 JMS 제공자에 대한 새 연결 작성을 인증하는 데 사용되는 사용자 ID 및 비밀번호를 지정합니다.
인증 별명 필드가 사용되는 경우 사용자 이름 및 비밀번호 사용자 정의 특성 필드는 지정되지 않아야 합니다. 애플리케이션 배치의 일부로서 설정된 인증 별명 특성은 활성화 스펙 관리 오브젝트에 설정된 특성보다 우선합니다.
트랜잭션 복구 로깅을 목적으로 하는 경우에도, 인증 별명만 암호화되지 않은 양식의 파일에 기록됩니다. 보안 서비스는 실제 사용자 이름 및 비밀번호를 보호하기 위해 사용됩니다.
애플리케이션 시작 중에, 활성화 스펙이 엔드포인트 활성화의 일부로서 초기화되면 서버는 인증 별명을 사용하여 보안에서 실제 사용자 이름 및 비밀번호를 검색한 후에 이를 활성화 스펙 인스턴스에서 설정합니다.
정보 | 값 |
---|---|
필수 | 아니오 |
데이터 유형 | 드롭 다운 목록 |