createSIBJMSConnectionFactory 명령
createSIBJMSConnectionFactory 명령을 사용하여 특정 범위에서 기본 메시징 제공자의 새 JMS 연결 팩토리를 작성할 수 있습니다.
명령을 실행하려면 wsadmin 스크립트 클라이언트의 AdminTask 오브젝트를 사용하십시오.
wsadmin 스크립트 클라이언트는 Qshell에서
실행됩니다. .
자세한 정보는 wsadmin 스크립트를 사용하여 WebSphere 스크립트를 실행하도록 Qshell 구성의 내용을 참조하십시오..
- Jython의 사용 가능한 서비스 통합 버스 JMS 명령 목록과 각 명령의 간단한 설명에 대해서는
wsadmin 프롬프트에 다음 명령을 입력하십시오.
print AdminTask.help('SIBJMSAdminCommands')
- 제공된 명령에 대한 개요 도움말을 보려면 다음 명령을 wsadmin 프롬프트에 입력하십시오.
print AdminTask.help('command_name')
AdminConfig.save()
목적
이 명령은 특정 범위에서 새로운 JMS 연결 팩토리 스펙을 작성합니다.
대상 오브젝트
JMS 연결 팩토리가 작성될 기본 메시징 제공자의 범위
필수 매개변수
- -name
- 이 연결 팩토리에 지정된 관리 이름
- -jndiName
- 이 연결 팩토리와 연관된 메시지 구동 Bean에 대해 바인딩에 지정된 JNDI 이름
- -busName
- 연결이 작성되는 서비스 통합 버스의 이름을 입력하십시오. 이 이름은 -destinationJndiName 특성에 의해 식별된 대상이 정의되어 있는 버스의 이름이어야 합니다.
선택적 매개변수
- -type
- queue | topic
- type 매개변수는 작성할 연결 팩토리의 유형을 지정하는 데 사용됩니다. 큐 연결 팩토리를 작성하려면 이 매개변수를 큐로 설정하십시오. 토픽 연결 팩토리를 작성하려면 이 매개변수를 토픽으로 설정하십시오. 일반 연결 팩토리를 작성하려면 이 매개변수를 설정 해제된 채로 두십시오.
- -category
- 자원 분류 또는 그룹화에 사용하는 선택적 카테고리 문자열
- -description
- text
- -logMissingTransactionContext
- True | False
- -manageCachedHandles
- True | False
- -clientID
- id
- -userName
- name
- -password
- password
- -target
-
연결 근접성 검색이 적합한 메시징 엔진을 선택하도록 수행되기 전에, 지정된 대상 그룹의 멤버인 메시징 엔진 세트가 선택됩니다. 그런 다음, 연결 근접성 검색이 이들 메시징 엔진으로 제한됩니다. 대상 그룹이 지정되지 않은 경우(기본값), 연결 근접성 검색 중에 버스의 모든 메시징 엔진이 고려됩니다. 예를 들어, 대상 유형 특성이 버스 멤버 이름로 설정된 경우, 대상 특성으로 적합한 메시징 엔진을 선택할 수 있는 버스 멤버의 이름을 지정합니다.
- -targetType
- 다음 값 중 하나를 선택하십시오.
- 버스 멤버 이름
- 버스 멤버의 이름입니다. 이 옵션은 이름 지정된 버스 멤버(애플리케이션 서버 또는 서버 클러스터)가 호스트하는 활성 메시징 엔진을 검색합니다.
클러스터되지 않은 버스 멤버를 지정하려면 -target 특성은 node_name.server_name(예: Node01.server1)로 설정되어야 합니다. 클러스터 버스 멤버의 경우 -target 특성은 클러스터 이름으로 설정되어야 합니다.
- 사용자 정의 메시징 엔진 그룹 이름
- 자체 선언 클러스터를 구성하는 메시징 엔진의 사용자 정의 그룹 이름입니다. 이 옵션은 이름 지정된 사용자 정의 그룹으로 등록된 활성 메시징 엔진을 검색합니다.
- 메시징 엔진 이름
- 메시징 엔진의 이름입니다. 이 옵션은 이름 지정된 메시징 엔진에 도달하기 위해 사용할 수 있는 엔드포인트를 검색합니다.
- -targetSignificance
이 특성은 연결 근접성 검색이 대상 그룹의 메시징 엔진에만 제한되는지의 여부를 정의합니다.
다음 값 중 하나를 선택하십시오.- 기본
- 대상 그룹에서 메시징 엔진을 선택하는 것이 좋습니다. 사용 가능한 경우
대상 그룹의 메시징 엔진이 선택됩니다. 메시징 엔진이 대상 그룹에서 사용할 수 없을 경우, 동일한 서비스 통합 버스에서 사용 가능하다면 대상 그룹 외부의 메시징 엔진이 선택됩니다. 참고: 선호하는 대상이 사용 가능한 경우에도 선호하지 않는 대상에 대한 연결이 리턴될 수 있습니다. 이는 연결 풀링이 ConnectionFactory에서 사용 가능할 때 발생할 수 있으며, 이 사용 가능 상태는 서버 환경에서 ConnectionFactory를 사용할 때의 기본값입니다.
- 선호하는 메시징 엔진을 사용할 수 없으면, 선호하지 않는 메시징 엔진에 대한 연결이 작성되고 연결 풀에 저장될 수 있습니다.
- 다음에 애플리케이션이 연결을 요청할 때, 이는 선호하는 메시징 엔진이 후속으로 사용 가능하게 되더라도 이 풀 연결을 수신합니다.
- 필수
- 대상 그룹에서 메시징 엔진을 선택해야 합니다. 사용 가능한 경우 대상 그룹의 메시징 엔진이 선택됩니다. 메시징 엔진이 대상 그룹에서 사용할 수 없을 경우, 연결 프로세스가 실패합니다.
- -targetTransportChain
-
이러한 전송 체인에서는 클라이언트 애플리케이션이 연결된 애플리케이션 서버와 통신하는 데 사용할 수 있는 통신 프로토콜을 지정합니다.
선택한 메시징 엔진이 애플리케이션과 같은 서버에 있는 경우 직접 프로세스 내부 연결이 이루어지고 이 전송 체인 특성은 무시됩니다.
전송 체인은 서버 내에서 작동하는 네트워크 프로토콜 스택을 표시합니다. 지정되는 이름은 패널에 나열된 것과 같은 메시징 엔진을 호스트하는 서버에서 사용 가능한 전송 체인 중 하나여야 합니다. 다음 전송 체인이 제공되지만 해당 분할창에서 전송 체인을 직접 정의할 수 있습니다.- InboundBasicMessaging
- 표준 TCP/IP 연결(JFAP-TCP/IP)을 사용하는 연결 지향 프로토콜입니다. 여기에는 두 단계 트랜잭션(원격 XA) 플로우에 대한 지원이 포함되어, 클라이언트 또는 서브 시스템에서 실행 중인 메시지 작성자 또는 이용자가 해당 클라이언트 또는 서버 시스템에서 관리되는 글로벌 트랜잭션에 참여할 수 있습니다. XA 플로우의 특정 용도는 하나의 서버에서 실행 중인 애플리케이션에서 두 번째 서버의 메시징 엔진으로의 액세스를 지원하는 것입니다. 이는 예를 들어, 첫 번째 서버에 적합한 메시징 엔진이 없는 경우입니다. 원격 XA 플로우를 사용하는 경우, 애플리케이션의 로컬 트랜잭션 조정자가 필요합니다.
- InboundSecureMessaging
- SSL(Secure Socket Layer)로 랩핑한 InboundBasicMessaging 프로토콜입니다.
- -providerEndPoints
- -connectionProximity
- Bus | Host | Cluster | Server
- -durableSubscriptionHome
- me_name
- -nonPersistentMapping
- BestEffortNonPersistent | ExpressNonPersistent | ReliableNonPersistent | ReliablePersistent | AssuredPersistent | AsSIBDestination | None
- -persistentMapping
- BestEffortNonPersistent | ExpressNonPersistent | ReliableNonPersistent | ReliablePersistent | AssuredPersistent | AsSIBDestination | None
- -readAhead
- Default | AlwaysOn | AlwaysOff
- -tempQueueNamePrefix
- prefix
- -tempTopicNamePrefix
- prefix
- -shareDurableSubscriptions
- AsCluster | AlwaysShared | NeverShared
- -producerDoesNotModifyPayloadAfterSet
- true | false (default false)
- 메시지를 전송하기 위해 이 연결 팩토리를 사용하는 애플리케이션은 다음 규칙을 따라야 합니다.
- 애플리케이션은 JMS 오브젝트 메시지에 포함된 데이터 오브젝트를 수정하지 않습니다.
- 애플리케이션은 writeBytes(byte[])에 대한 단일 호출을 사용하여 JMS 바이트 메시지를 포함하고 바이트 배열이 메시지에 설정된 후 이를 수정하지 않습니다.
- -consumerDoesNotModifyPayloadAfterGet
- true | false (default false)
- 메시지를 수신하기 위해 이 연결 팩토리를 사용하는 애플리케이션은 다음 규칙을 따라야 합니다. 애플리케이션은 JMS 오브젝트 메시지에서 얻은 데이터 오브젝트를 수정하지 않습니다. 데이터 오브젝트는 읽기 전용으로만 취급됩니다.
- -authDataAlias
- alias_name
- -shareDataSourceWithCMP
- True | False
- -xaRecoveryAuthAlias
- alias_name
예제
- Jython 사용:
wsadmin>AdminConfig.getid("/Node:9994GKCNode01" )
"9994GKCNode01(cells/9994GKCNode01Cell/nodes/9994GKCNode01|node.xml#Node_1)"
wsadmin>AdminTask.createSIBJMSConnectionFactory("9994GKCNode01(cells/ 9994GKCNode01Cell/nodes/9994GKCNode01|node.xml)", ["-name", "jmscf1", "-jndiName", "jms/jmscf1", "-busName", "abus"])
"jmscf1(cells/9994GKCNode01Cell/nodes/9994GKCNode01|resources.xml# J2CConnectionFactory_1098733325084)"
wsadmin>AdminTask.createSIBJMSConnectionFactory("9994GKCNode01(cells/ 9994GKCNode01Cell/nodes/9994GKCNode01|node.xml)", ["-name", "jmsqcf2", "-jndiName", "jms/jmsqcf1", "-busName", "abus", "-type", "queue"])
"jmsqcf2(cells/9994GKCNode01Cell/nodes/9994GKCNode01|resources.xml# J2CConnectionFactory_1098733675578)"
- Jacl 사용:
wsadmin>$AdminConfig getid /Node:9994GKCNode01
9994GKCNode01(cells/9994GKCNode01Cell/nodes/9994GKCNode01|node.xml#Node_1)
wsadmin>$AdminTask createSIBJMSConnectionFactory 9994GKCNode01(cells/9994GKCNode01Cell/nodes/9994GKCNode01|node.xml#Node_1) {-name jmscf1 -jndiName jms/jmscf1 -busName abus}
jmscf1(cells/9994GKCNode01Cell/nodes/9994GKCNode01|resources.xml# J2CConnectionFactory_1098733325084)
wsadmin>$AdminTask createSIBJMSConnectionFactory 9994GKCNode01(cells/9994GKCNode01Cell/nodes/9994GKCNode01|node.xml#Node_1) {-name jmsqcf2 -jndiName jms/jmsqcf1 -busName abus -type queue}
jmsqcf2(cells/9994GKCNode01Cell/nodes/9994GKCNode01|resources.xml# J2CConnectionFactory_1098733675578)