Liberty 임베디드 메시징 제공자를 사용하여 여러 서버 지원 설정

일부 서버는 일괄처리 디스패처로 작동하고 다른 서버는 일괄처리 실행기로 작동하도록 일괄처리 환경을 설정할 수 있습니다. 일괄처리 디스패처는 외부 클라이언트의 요청을 수락하고 일괄처리 실행기에서 이 요청을 사용할 수 있게 합니다. 일괄처리 실행기는 자신의 정의된 기능과 일치하는 요청을 수신하고 이러한 요청을 실행합니다. 일괄처리 디스패처와 일괄처리 실행기는 Java Messaging Service(JMS)를 사용하여 통신합니다.

시작하기 전에

임베디드 메시지 엔진이 호스팅되는 위치를 판별하십시오. 임베디드 메시지 엔진은 일괄처리 디스패치 서버, 일괄처리 실행기 서버 또는 별도의 서버에서 호스팅될 수 있습니다. 이 태스크를 완료하기 전에 이 서버가 구성되어 있어야 합니다. JMS 연결 팩토리와 활성화 스펙은 해당 구성에 있는 메시지 엔진 서버를 참조합니다. 메시지 엔진을 구성하려면 다음을 수행하십시오.
  1. wasJmsServer-1.0 기능을 server.xml에 추가하십시오.
  2. messageEngine 요소를 추가하여 메시지 엔진을 정의하십시오. 일괄처리 디스패처 및 일괄처리 실행기에 사용되는 큐를 정의하십시오. 다음 예는 server.xml의 메시지 엔진 구성을 보여줍니다.
<!-specify the ports for the message engine.
The ports in this example are the default ports.
This element is not needed when the default ports are used. -->
<wasJmsEndpoint host="*" 
		  wasJmsPort="7280" 
		  wasJmsSSLPort="7290" 
		  enabled="true"> 
	</wasJmsEndpoint>
<messagingEngine>
	<!- queue for batch jms message. -->
	<queue id="batchLibertyQueue" 
		forceReliability="ReliablePersistent"
		receiveAllowed="true"/>
</messagingEngine>

이 태스크 정보

이 태스크에서는 Liberty 임베디드 메시징 제공자를 사용하여 일괄처리 디스패치 서버 및 일괄처리 실행기를 구성할 수 있습니다.

프로시저

Liberty 임베디드 메시징 제공자를 사용하는 일괄처리 디스패처 및 실행기를 구성하려면 다음 작업을 수행하십시오.

  1. 일괄처리 JMS 디스패처를 구성하십시오.
    1. server.xml에서 wasJmsClient-2.0 기능을 기능 관리자에 추가하여 JMS 지원을 사용으로 설정하십시오.
    2. 일괄처리 디스패처를 호스팅하는 서버의 server.xmlbatchJmsDispatcher 요소를 추가하십시오.
      <batchJmsDispatcher connectionFactoryRef={reference to a configured JMS connection factory}
      	queueRef={reference to a configured JMS queue} />
      참고: connectionFactoryRefqueueRef 속성을 지정하지 않으면 connectionFactoryRef의 기본값은 batchConnectionFactory이며 queueRef의 기본값은 batchJobSubmissionQueue입니다. batchJmsDispatcher 요소를 <batchJmsDispatcher/>로 지정할 수 있습니다. batchConnectionFactory JMS 연결 팩토리 및 JMS batchJobSubmissionQueue 큐는 여전히 server.xml 파일에 구성해야 합니다.
    3. 해당 JMS 연결 팩토리와 JMS 큐를 서버 구성에 추가하십시오. 이는 일괄처리 구성에만 적용되는 것은 아닙니다. 다음 예는 일괄처리 JMS 디스패처 구성과 해당 JMS 구성을 보여줍니다.
      참고: remoteServerAddress 속성은 Liberty 메시지 엔진을 호스팅하고 있는 서버의 host:port를 가리킵니다.
      <batchJmsDispatcher connectionFactoryRef="batchConnectionFactory"
      		    queueRef="batchJobSubmissionQueue" />
      
      <jmsConnectionFactory id="batchConnectionFactory"	
      		      jndiName="jms/batch/connectionFactory">
      	 <properties.wasJms remoteServerAddress="host:7280:BootstrapBasicMessaging">
      	 </properties.wasJms>
      </jmsConnectionFactory>
      
      <jmsQueue id="batchJobSubmissionQueue" 
      	  jndiName="jms/batch/jobSubmissionQueue">
      	 <properties.wasJms deliveryMode="Persistent" 
      			    queuename="batchLibertyQueue">
      	 </properties.wasJms>
      </jmsQueue>
      참고: 예제에 표시된 대로 jmsQueueConnectionFactory 요소가 아니라 jmsConnectionFactory 요소를 참조 중인지 확인하십시오. jmsQueueConnectionFactory 요소를 사용하면 작동되지 않습니다. 구성은 jmsQueueConnectionFactory 요소가 아니라 jmsConnectionFactory 요소 및 jmsQueue 요소 모두를 포함해야 합니다.
  2. 일괄처리 JMS 실행기를 구성하십시오.
    1. server.xml에서 wasJmsClient-2.0 기능을 기능 관리자에 추가하여 JMS 지원을 사용으로 설정하십시오.
    2. 일괄처리 실행기를 호스팅하는 서버의 server.xml 파일에 batchJmsExecutor 요소를 추가하십시오.
      <batchJmsExecutor activationSpecRef={configured activation specification or batch executor}
      	queueRef={reference to the configured JMS queue} />
      참고: activationSpecRefqueueRef 속성을 지정하지 않으면 activationSpecRef의 기본값은 batchActivationSpec이며 queueRef의 기본값은 batchJobSubmissionQueue입니다. batchJmsExecutor 요소를 <batchJmsExecutor/>로 지정할 수 있습니다. batchActivationSpec의 JMS 활성화 스펙 및 batchJobSubmissionQueue JMS 큐는 server.xml 파일에 여전히 구성해야 합니다.
    3. 해당 JMS 활성화 스펙과 JMS 큐를 서버 구성에 추가하십시오. 이는 일괄처리 구성에만 적용되는 것은 아닙니다.
    4. 활성화 스펙에 JMS 메시지 선택기를 포함시켜 일괄처리 실행기 서버 기능을 정의하십시오.
      • 시스템 정의 특성을 기반으로 하는 필터링:

        일괄처리 JMS 메시지에는 일괄처리 실행기가 인바운드 메시지 필터링에 사용할 수 있는 일괄처리 디스패처 특성 세트가 있습니다.

        • com_ibm_ws_batch_applicationName: 작업 요청에 대한 일괄처리 애플리케이션의 이름
        • com_ibm_ws_batch_moduleName: 작업 요청에 대한 일괄처리 애플리케이션의 모듈 이름
        • com_ibm_ws_batch_componentName: 작업 요청에 대한 일괄처리 애플리케이션의 컴포넌트 이름
        참고: 실행기에서 처리할 수 있는 작업만 수신하도록 하기 위해 최소한 com_ibm_ws_batch_applicationName 특성을 사용하여 메시지 선택기를 지정하는 것이 좋습니다.
        다음 예제는 애플리케이션 SimpleBatchJobBonusPayout에 대한 작업을 수락하는 실행기의 messageSelector 속성을 나타냅니다.
        messageSelector="com_ibm_ws_batch_applicationName = 'SimpleBatchJob' OR com_ibm_ws_batch_applicationName = 'BonusPayout'">
        다음 예제는 애플리케이션 SimpleBatchJob에 대한 작업을 수락하는 실행기의 messageSelector 속성을 나타냅니다.
        messageSelector="com_ibm_ws_batch_applicationName = 'SimpleBatchJob'">
      • 사용자 정의 특성 기반 필터링:

        일괄처리 디스패처는 일괄처리 디스패처 요청 메시지에 적절한 JMS 메시지 특성을 따르는 모든 작업 매개변수를 설정합니다. 이러한 특성은 메시지 선택기에 필터링 기능을 추가하기 위해 메시지 선택기에 의해 사용될 수도 있습니다. 특성 이름(또는 ID)은 JMS 메시지 특성 제한조건을 준수해야 합니다. 예를 들어, 특성이 무제한의 길이를 갖는 문자 또는 숫자의 시퀀스이며 첫 번째 글자가 문자여야 합니다. 문자는 메소드 Character.isJavaLettertrue를 리턴하는 임의의 문자이며 '_' 및 '$'를 포함합니다. 문자 또는 숫자는 메소드 Character.isJavaLetterOrDigittrue를 리턴하는 임의의 문자입니다. JMS 메시지 선택기에 대한 자세한 정보는 JMS Javadoc을 참조하십시오.

        다음 예제는 com_ibm_ws_batch_applicationName 특성 및 작업 매개변수 specialCapability를 사용하는 가능한 메시지 선택기를 나타냅니다.
        messageSelector="com_ibm_ws_batch_applicationName = 'SimpleBatchJob' AND specialCapability = 'superCapability'">
      다음 예제는 일괄처리 JMS 실행기 구성과 해당 JMS 구성을 나타냅니다.
      <batchJmsExecutor activationSpecRef="batchActivationSpec"
      	  	  queueRef="batchJobSubmissionQueue"/>
      
      <jmsActivationSpec id="batchActivationSpec" >
      	<properties.wasJms destinationRef="batchJobSubmissionQueue"
      			   messageSelector="com_ibm_ws_batch_applicationName = 'SimpleBatchJob' OR com_ibm_ws_batch_applicationName = 'BonusPayoutCDI'"
      			   destinationType="javax.jms.Queue"
      			   remoteServerAddress="host:7280:BootstrapBasicMessaging">
      	</properties.wasJms>
      </jmsActivationSpec>
      
      <jmsQueue id="batchJobSubmissionQueue" 
      	  jndiName="jms/batch/jobSubmissionQueue">
      	<properties.wasJms deliveryMode="Persistent" 
      			      queueName="batchLibertyQueue">
      	</properties.wasJms>
      </jmsQueue>
  3. 일괄처리 애플리케이션을 서버에 설치하십시오. 자세한 정보는 Liberty에 애플리케이션 배치의 내용을 참조하십시오.

주제의 유형을 표시하는 아이콘 태스크 주제



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