createSIBJMSActivationSpec 명령

createSIBJMSActivationSpec 명령을 사용하면 특정 범위에서 기본 메시징 제공자의 새 JMS 활성화 스펙을 작성할 수 있습니다.

명령을 실행하려면 wsadmin 스크립트 클라이언트AdminTask 오브젝트를 사용하십시오.

[IBM i][IBM i]wsadmin 스크립트 클라이언트는 Qshell에서 실행됩니다. . [IBM i]자세한 정보는 wsadmin 스크립트를 사용하여 WebSphere 스크립트를 실행하도록 Qshell 구성의 내용을 참조하십시오..

서비스 통합 버스에 대해 명령행 도움말이 제공됩니다.
  • Jython의 사용 가능한 서비스 통합 버스 JMS 명령 목록과 각 명령의 간단한 설명에 대해서는 wsadmin 프롬프트에 다음 명령을 입력하십시오.

    print AdminTask.help('SIBJMSAdminCommands')

  • 제공된 명령에 대한 개요 도움말을 보려면 다음 명령을 wsadmin 프롬프트에 입력하십시오.

    print AdminTask.help('command_name')

명령을 사용한 후에는 다음 명령을 사용하여 변경사항을 마스터 구성에 저장하십시오.

AdminConfig.save()

목적

createSIBJMSActivationSpec 명령은 특정 범위에서 새로운 JMS 활성화 스펙을 작성합니다.

대상 오브젝트

JMS 활성화 스펙을 작성할 기본 메시징 제공자의 범위

필수 매개변수

-name
이 활성화 스펙에 지정된 관리 이름
-jndiName
이 활성화 스펙과 연관된 메시지 구동 Bean에 대해 바인딩에 지정된 JNDI 이름

선택적 매개변수

-description
활성화 스펙에 대한 선택적 설명
-destinationJndiName
메시지 구동 Bean에서 사용되는 대상 JMS 큐 또는 토픽의 JNDI 이름대상 JNDI 이름 및 대상 검색 이름 매개변수는 구성에서 대상 JNDI 이름을 저장하는 동일한 목적을 제공합니다. 두 필드는 각기 필수는 아니지만 이들 필드 중 최소 하나에 값이 있는지 확인해야 합니다. destinationLookupdestinationJndiName 매개변수 둘 모두에 값이 있으면 destinationLookup 매개변수는 destinationJndiName 매개변수보다 우선합니다.
-destinationLookup
메시지 구동 Bean에서 사용되는 대상 JMS 큐 또는 토픽의 JNDI 이름대상 JNDI 이름 및 대상 검색 이름 매개변수는 구성에서 대상 JNDI 이름을 저장하는 동일한 목적을 제공합니다. 두 필드는 각기 필수는 아니지만 이들 필드 중 최소 하나에 값이 있는지 확인해야 합니다. destinationLookupdestinationJndiName 매개변수 둘 모두에 값이 있으면 destinationLookup 매개변수는 destinationJndiName 매개변수보다 우선합니다.
-connectionFactoryLookup
연결 팩토리 검색의 JNDI 이름. 연결 팩토리 검색이 JNDI 이름으로서 활성화 스펙에 정의되어 있으면 연결 팩토리 특성은 활성화 스펙 구성에 설정된 특성보다 우선합니다. 예를 들어, 연결 팩토리 JNDI의 일부로 설정된 클라이언트 ID는 활성화 스펙 구성 특성에 설정된 클라이언트 ID보다 우선합니다.
-destinationType
Bean이 JMS 큐를 사용하는지 또는 JMS 주제를 사용하는지 여부를 판별하는 옵션. 다음 값 중 하나를 선택하십시오.
메시지 구동 Bean은 JMS 큐를 사용합니다. JMS 큐의 JNDI 이름이 대상 JNDI 이름 특성에 지정됩니다.
주제
메시지 구동 Bean은 JMS 주제를 사용합니다. JMS 주제의 JNDI 이름이 대상 JNDI 이름 특성에 지정됩니다.
-messageSelector

선택기 문자열은 JMS 메시지 헤더 필드와 메시지 특성 필드를 참조할 수 있습니다. 메시지 선택기는 메시지 본문 값을 참조할 수 없습니다.

널 값(빈 문자열)은 메시지 처리자에 해당되는 메시지 선택기가 없음을 표시합니다.

-busName
연결이 작성되는 서비스 통합 버스의 이름. 이 이름은 -destinationJndiName 특성에 의해 식별된 대상이 정의되어 있는 버스의 이름이어야 합니다.
-acknowledgeMode
수신확인 모드는 메시지 구동 Bean이 수신한 메시지를 수신확인해야 하는 방법을 표시합니다. 다음 값 중 하나를 선택하십시오.
자동 수신확인
세션에서 전달하는 메시지를 자동으로 수신확인합니다.
복제 확인 자동 수신확인
세션에서 메시지의 전달을 느리게 수신확인하여 성능을 향상시킬 수 있지만 메시지 구동 Bean이 한 번 이상 메시지를 수신하도록 할 수 있습니다.
-target
메시징 엔진 그룹을 식별하는 대상 이름. 대상 유형 특성을 사용하여 대상 유형을 지정하십시오.
-targetType
-target 특성에 이름 지정된 대상의 유형. 다음 값 중 하나를 선택하십시오.
버스 멤버 이름
버스 멤버의 이름입니다. 이 옵션은 이름 지정된 버스 멤버(애플리케이션 서버 또는 서버 클러스터)가 호스트하는 활성 메시징 엔진을 검색합니다.
사용자 정의 메시징 엔진 그룹 이름
자체 선언 클러스터를 구성하는 메시징 엔진의 사용자 정의 그룹 이름입니다. 이 옵션은 이름 지정된 사용자 정의 그룹으로 등록된 활성 메시징 엔진을 검색합니다.
메시징 엔진 이름
메시징 엔진의 이름입니다. 이 옵션은 이름 지정된 메시징 엔진에 도달하기 위해 사용할 수 있는 엔드포인트를 검색합니다.
-targetSignificance
다음 값 중 하나를 선택하십시오.
기본
대상 그룹에서 메시징 엔진을 선택하는 것이 좋습니다. 사용 가능한 경우 대상 그룹의 메시징 엔진이 선택됩니다. 메시징 엔진이 대상 그룹에서 사용할 수 없을 경우, 동일한 서비스 통합 버스에서 사용 가능하다면 대상 그룹 외부의 메시징 엔진이 선택됩니다.
필수
대상 그룹에서 메시징 엔진을 선택해야 합니다. 사용 가능한 경우 대상 그룹의 메시징 엔진이 선택됩니다. 메시징 엔진이 대상 그룹에서 사용할 수 없을 경우, 연결 프로세스가 실패합니다.
-targetTransportChain

선택한 메시징 엔진이 애플리케이션과 같은 서버에 있는 경우 직접 프로세스 내부 연결이 이루어지고 이 전송 체인 특성은 무시됩니다.

전송 체인은 서버 내에서 작동하는 네트워크 프로토콜 스택을 표시합니다. 지정되는 이름은 서버 -> 서버 유형 -> WebSphere 애플리케이션 서버 -> server_name -> [서버 메시징] 메시징 엔진 인바운드 전송 패널에 나열된 것과 같은 메시징 엔진을 호스트하는 서버에서 사용 가능한 전송 체인 중 하나여야 합니다. 다음 전송 체인이 제공되지만 해당 분할창에서 전송 체인을 직접 정의할 수 있습니다.
InboundBasicMessaging
표준 TCP/IP 연결(JFAP-TCP/IP)을 사용하는 연결 지향 프로토콜입니다. 여기에는 두 단계 트랜잭션(원격 XA) 플로우에 대한 지원이 포함되어, 클라이언트 또는 서브 시스템에서 실행 중인 메시지 작성자 또는 이용자가 해당 클라이언트 또는 서버 시스템에서 관리되는 글로벌 트랜잭션에 참여할 수 있습니다. XA 플로우의 특정 용도는 하나의 서버에서 실행 중인 애플리케이션에서 두 번째 서버의 메시징 엔진으로의 액세스를 지원하는 것입니다. 이는 예를 들어, 첫 번째 서버에 적합한 메시징 엔진이 없는 경우입니다. 원격 XA 플로우를 사용하는 경우, 애플리케이션의 로컬 트랜잭션 조정자가 필요합니다.
InboundSecureMessaging
SSL(Secure Socket Layer)로 랩핑한 InboundBasicMessaging 프로토콜입니다.
연결 워크로드 관리를 위해 다른 연결 팩토리 특성과 함께 해당 특성 사용에 대한 자세한 정보는 "버스에 대한 JMS 연결의 관리 특성" 주제를 참조하십시오.
-providerEndPoints
부트스트랩 서버에 연결하기 위해 사용되는 host_name:port_number:chain_name 구문을 포함한 콤마로 구분된 엔드포인트 트리플릿의 목록. 예제: Merlin:7276:BootstrapBasicMessaging,Gandalf:5557:BootstrapSecureMessaging.

제공자 엔드포인트는 지정된 버스가 로컬 셀에 없으면 사용됩니다. 메시지 구동 Bean애플리케이션은 먼저 로컬 셀에 있는 지정된 버스를 연결하려고 합니다. 연결이 되지 않으면, 제공자 엔드포인트는 애플리케이션이 원격 셀로부터 메시지를 이용하는 데 사용됩니다.

호스트 이름이 지정되지 않은 경우, localhost가 기본값으로 사용됩니다.

포트 번호가 지정되지 않은 경우, 7276이 기본값으로 사용됩니다.

프로토콜이 지정되지 않은 경우, BootstrapBasicMessaging과 같은 사전 정의된 체인은 기본값으로 사용됩니다.

-authenticationAlias

JCA(Java™ EE(Java Platform, Enterprise Edition) Connector Architecture) 인증 별명은 JMS 제공자에 대한 새 연결 작성을 인증하는 데 사용되는 사용자 ID 및 비밀번호를 지정합니다.

-maxBatchSize
단일 메시지 구동 Bean 인스턴스로 순차적으로 전달되는 단일 일괄처리의 최대 메시지 수입니다. 메시지를 일괄처리하면 수신확인 모드복제 확인 자동 수신확인으로 설정할 경우 특히 성능을 크게 개선시킬 수 있습니다. 실패한 전달에서 메시지 순서를 유지해야 할 경우 일괄처리 크기를 1로 설정하십시오.
-maxConcurrency

이 숫자를 늘리면 성능은 개선될 수 있지만 한 번에 사용하는 스레드 수가 증가될 수 있습니다. 실패한 전달에서 메시지 순서를 유지해야 할 경우, 최대 동시 엔드포인트 수를 1로 설정하십시오. 메시지 순서는 메시지 구동 Bean이 이용되고 있는 대상이 파티션된 대상이 아닌 경우에만 적용됩니다. 파티션된 대상은 클러스터의 워크로드 공유 시나리오에 사용됩니다.

-subscriptionDurability
이 옵션은 JMS 주제 등록이 지속 가능한지 또는 지속 불가능한지 여부를 지정합니다.
일반적으로, 한 번에 하나의 애플리케이션만 특정 지속 가능한 등록에 대한 이용자를 가질 수 있습니다. 이 특성을 통해 이 작동을 대체하여 지속 가능한 등록이 여러 이용자를 동시에 갖게 할 수 있습니다. 다음 값 중 하나를 선택하십시오.
지속 가능
메시지 구동 Bean이 사용 불가능한 동안 메시징 제공자가 메시지를 저장하며 메시지 구동 Bean이 다시 사용 가능하게 되면 메시지를 전달합니다.
지속 불가능
메시지 구동 Bean을 사용할 수 없는 경우 메시징 제공자는 메시지를 저장하지 않고 다시 전달하지도 않습니다.
-subscriptionName

각 JMS 지속 가능한 등록은 등록 이름(이 특성에 지정)으로 식별합니다. JMS 연결에는 연관된 클라이언트 ID (클라이언트 ID 특성에 지정)가 있으며, 이 ID는 클라이언트에 대해 JMS 제공자가 유지보수하는 (지속 가능한 등록에 대한) 메시지 목록과 연결 및 해당 오브젝트를 연관시키는 데 사용됩니다.

이 등록 이름은 지정된 클라이언트 ID 내에서 고유해야 합니다.

-clientId

지정된 값은 클라이언트(메시지 구동 Bean)에 고유한 ID입니다. 클라이언트 ID는 클라이언트에 대해 메시징 제공자가 유지하는 (지속 가능한 등록에 대한) 메시지 목록과 클라이언트 연결을 연관시키는 데 사용됩니다. 클라이언트가 사용 불가능하게 된 후에 사용 가능하게 된 경우, 메시징 제공자는 클라이언트 ID를 사용하여 저장된 메시지를 해당 클라이언트에 재전달합니다.

-durableSubscriptionHome

관리자는 이 메시징 엔진의 공개 위치를 통해 지속 가능한 등록의 런타임 상태를 관리할 수 있습니다.

-shareDurableSubscriptions

일반적으로 한 번에 하나의 세션만 특정 지속 가능한 등록에 대한 TopicSubscriber를 가질 수 있습니다. 이 특성을 사용하면 이 작동을 대체하여 지속 가능한 등록이 서버 클러스터의 각 애플리케이션 서버가 여러 이용자를 동시에 갖게 할 수 있습니다.

다음 값 중 하나를 선택하십시오.
클러스터 내
서버 클러스터 내부에서 연결이 작성된 경우, 지속 가능한 등록의 공유를 허용합니다.
항상 공유
지속 가능한 등록이 연결에서 공유될 수 있습니다.
공유 불필요
지속 가능한 등록이 연결에서 공유되지 않습니다.
-shareDataSourceWithCmp

True | False

이 옵션은 CMP(Container-Managed Persistence) 엔티티 Bean이 메시징 엔진의 데이터 저장소에서 사용하는 데이터베이스 연결을 공유하게 하는 태스크의 일부로 사용됩니다. 이 태스크는 전체 메시지 처리량에 대해 15% 성능 개선 가능성이 있는 것으로 예상되었지만, 메시징 엔진을 포함하는 애플리케이션 서버에 연결된 엔티티 Bean에 대해서만 사용할 수 있습니다. 파일 저장소를 데이터 저장소로 사용하는 메시징 엔진에는 이 옵션을 사용할 수 없습니다.

이 옵션 사용에 대한 자세한 정보는 CMP 엔티티 Bean 및 메시징 엔진 데이터 저장소를 사용하여 데이터베이스 연결 공유의 내용을 참조하십시오.

-readAhead

이용자에게 지정되는 메시지는 서버에서 잠겨 해당 대상의 다른 생성자가 이용할 수 없습니다. 이용자가 닫히기 전에 이용되지 않고 이 이용자로 지정되는 메시지는 서버에서 잠금 해제되어 다른 이용자가 수신할 수 있습니다.

JMS 대상에 미리 읽기 특성을 설정하여 개별 JMS 대상에 대한 이 특성을 대체할 수 있습니다.

다음 값 중 하나를 선택하십시오.
사용 가능
메시징 제공자는 메시지를 이용자에게 우선 지정합니다. 이는 이용자 요청을 처리하는 데 걸리는 시간을 단축합니다.
사용 불가능
메시징 제공자는 메시지를 이용자에게 우선 지정하지 않습니다.
기본값
메시지 제공자는 지속 가능한 등록 및 공유되지 않는 지속 가능한 등록의 이용자에게 메시지를 우선 지정합니다. 즉, 단일 이용자가 있을 경우에만 미리 읽기 최적화가 작동됩니다.
"참조에 의해 메시지 페이로드 전달" 특성:
-forwarderDoesNotModifyPayloadAfterSet
true | false (default false)
이 활성화 스펙을 사용하여 수신된 본래 메시지를 재전송하는 애플리케이션은 다음 규칙을 따라야 합니다.
  • 애플리케이션은 JMS 오브젝트 메시지에서 데이터 오브젝트를 바꿀 수 있습니다(데이터 오브젝트가 메시지에 아직 설정되지 않은 경우). 애플리케이션은 데이터 오브젝트가 메시지에 설정된 후 수정하거나 바꾸지 않습니다.
  • 애플리케이션은 writeBytes(byte[])에 대한 단일 호출을 사용하는 경우에만 JMS 바이트 메시지에서 바이트 배열을 바꿀 수 있습니다(바이트 배열이 메시지에 아직 설정되지 않은 경우). 애플리케이션은 바이트 배열이 메시지에 설정된 후 수정하거나 바꾸지 않습니다.
-consumerDoesNotModifyPayloadAfterGet
true | false (default false)
메시지를 수신하기 위해 이 활성화 스펙을 사용하는 애플리케이션은 다음 규칙을 따라야 합니다. 애플리케이션은 JMS 오브젝트 메시지에서 얻은 데이터 오브젝트를 수정하지 않습니다. 데이터 오브젝트는 읽기 전용으로만 취급됩니다.
대용량 오브젝트 메시지 또는 바이트 메시지가 전송되면, 메시지 페이로드를 직렬화, 직렬화 해제 및 복사하는 데 사용하는 메모리 및 프로세서의 비용이 커질 수 있습니다. 연결 팩토리 또는 활성화 스펙에서 참조에 의한 메시지 페이로드 전달 특성을 사용하면, 기본 메시징 제공자가 JMS 1.1 스펙을 대체하고 이 데이터의 복사를 줄이거나 생략하도록 합니다.
경고:
이러한 특성에 의해 생략된 JMS 스펙의 파트는 메시징 데이터의 무결성을 보장하도록 정의됩니다. 이러한 특성을 사용하는 모든 JMS 애플리케이션은 참조에 의해 JMS 메시지 페이로드를 전달하는 이유 및 시기 주제에 설명된 규칙을 엄격히 따라야 합니다. 그렇지 않으면, 데이터 무결성을 잃게 됩니다.
-alwaysActivateAllMDBs
True | False

이 특성은 MDB 애플리케이션이 애플리케이션에서 대상으로 설정한 버스의 멤버인 서버에서 실행될 때만 사용됩니다. 이는 MDB가 대상 버스의 멤버가 아닌 서버에서 실행 중일 때는 사용되지 않습니다.

MDB 애플리케이션이 대상 버스의 멤버인 서버에서 실행 중인 경우, 이 옵션을 사용하면 MDB 애플리케이션에서 서버가 실행 중인 메시징 엔진도 호스트하는지의 여부를 나타내는 메시지를 처리할 수 있습니다. 이 옵션이 사용되지 않는 경우, 실행 중인 로컬 ME가 없는 서버의 MDB 애플리케이션에서는 메시지를 처리하지 않습니다.

클러스터 버스 멤버에 연결 중인 MDB 애플리케이션의 경우, 이 옵션을 사용하여 다음 추가 구성 중 하나를 사용할 수도 있습니다.
  • 클러스터에서 처리 성능을 모두 사용하기 위해 클러스터의 모든 서버가 MDB 애플리케이션에서 메시지를 수신할 수 있습니다.
  • 메시지의 순차적 처리를 보장하기 위해 한 번에 하나의 서버가 MDB 애플리케이션에서 메시지를 수신할 수 있습니다.
클러스터의 모든 서버를 사용하여 MDB 애플리케이션에서 메시지를 수신하려면 이 옵션을 선택하십시오. 한 번에 하나의 서버를 사용하여 MDB 애플리케이션에서 메시지를 수신하려면, 이 옵션을 선택하지 않았는지 확인하고 대상에서 receive exclusive 옵션을 선택하십시오.

자세한 정보는 메시지 구동 Bean을 클러스터에 연결하는 방법의 내용을 참조하십시오.

-retryInterval
-userName
J2C(Java 2 Connector) 보안에 사용할 사용자 ID
-password
J2C(Java 2 Connector) 보안에 사용할 비밀번호
-WAS_EndpointInitialState
ACTIVE |INACTIVE
이 특성은 엔드포인트를 등록할 때 엔드포인트의 활성화 여부를 판별합니다. 특성이 활성 상태로 설정되면, 메시지 구동 Bean이 대상과 연결하는 데 활성화 스펙이 사용된 후 곧 JMS 대상에서 메시지 이용이 시작됩니다.

예제

참고: 다음 예제에서, wsadmin>로 시작하는 코드 블록은 사용자가 입력하는 코드를 표시합니다. wsadmin>로 시작하는 행들은 콘솔에 의해 리턴된 코드를 표시합니다.
  • 다음 예제에서는 Jython을 사용한 활성화 스펙 작성을 보여줍니다.
    wsadmin>AdminConfig.getid("/Node:9994GKCNode01" )
    "9994GKCNode01(cells/9994GKCNode01Cell/nodes/9994GKCNode01|node.xml#Node_1)"
    wsadmin>AdminTask.createSIBJMSActivationSpec("9994GKCNode01(cells/9994GKCNode01Cell/
    nodes/9994GKCNode01|node.xml"), ["-name", "myjmsas", "-jndiName", "jms/myjmsas",
     "-destinationJndiName", "jms/mqueue", "-busName", "abus"]) 
    "myjmsas(cells/9994GKCNode01Cell/nodes/9994GKCNode01|resources.xml#
    J2CActivationSpec_1098726667851)"
    
    wsadmin>AdminTask.listSIBJMSActivationSpecs("9994GKCNode01(cells/9994GKCNode01Cell/
    nodes/9994GKCNode01|node.xml)")
    "myjmsas(cells/9994GKCNode01Cell/nodes/9994GKCNode01|resources.xml#
    J2CActivationSpec_1098726667851)"
  • 다음 예제에서는 Jacl을 사용한 활성화 스펙 작성을 보여줍니다.
    wsadmin>$AdminConfig getid /Node:9994GKCNode01
    9994GKCNode01(cells/9994GKCNode01Cell/nodes/9994GKCNode01|node.xml#Node_1)
    wsadmin>$AdminTask createSIBJMSActivationSpec 
    9994GKCNode01(cells/9994GKCNode01Cell/nodes/9994GKCNode01|node.xml#Node_1)
    {-name myjmsas -jndiName jms/myjmsas -destinationJndiName jms/mqueue -busName 
    abus} 
    myjmsas(cells/9994GKCNode01Cell/nodes/9994GKCNode01|resources.xml#
    J2CActivationSpec_1098726667851)
    wsadmin>$AdminTask listSIBJMSActivationSpecs 9994GKCNode01 (cells/9994GKCNode01Cell/nodes/9994GKCNode01|node.xml#Node_1)
    myjmsas(cells/9994GKCNode01Cell/nodes/9994GKCNode01|resources.xml#
    J2CActivationSpec_1098726667851)

주제 유형을 표시하는 아이콘 참조 주제



시간소인 아이콘 마지막 업데이트 날짜: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rjn_jmsas_create
파일 이름:rjn_jmsas_create.html