Repositorio de Liberty[8.5.5.6 o posterior]

Habilitación del soporte de varios servidores utilizando el proveedor de mensajería incorporada del perfil Liberty

El entorno de proceso por lotes puede configurarse para que unos servidores funcionen como asignadores por lotes, mientras que otros funcionen como ejecutores por lotes. Los asignadores por lotes aceptan solicitudes de clientes externos y hacen que estén disponibles para los ejecutores por lotes. Los ejecutores por lotes reciben solicitudes que coinciden con sus prestaciones definidas y las ejecutan. Los asignadores por lotes y los ejecutores por lotes se comunican utilizando Java Messaging Service (JMS).

Antes de empezar

Determine dónde se aloja el motor de mensajería incorporada. Puede alojarse en el servidor de asignación por lotes, en el servidor del ejecutor por lotes o en un servidor aparte. El servidor debe configurarse antes de completar esta tarea. La fábrica de conexiones JMS y la especificación de activación hacen referencia al servidor del motor de mensajes en su configuración. Para configurar el motor de mensajes:
  1. Añada la característica wasJmsServer-1.0 a server.xml.
  2. Defina el motor de mensajes añadiendo el elemento messageEngine. Defina la cola que se utiliza para el asignador por lotes y el ejecutor por lotes. El ejemplo siguiente ilustra la configuración del motor de mensajes en el archivo server.xml.
<!-especifique los puertos para el motor de mensajes.
Los puertos de este ejemplo son los puertos predeterminados.
Este elemento no es necesario cuando se utilizan los puertos predeterminados. -->
<wasJmsExecutor host="*" 
		  wasJmsPort="7280" 
		  wasJmsSSLPort="7290" 
		  enabled="true"> 
</wasJmsExecutor>

<messagingEngine>
	<!- cola de mensaje jms por lotes. -->
	<queue id="batchLibertyQueue" 
		forceReliability="ReliablePersistent"
		receiveAllowed="true"/>
</messagingEngine>

Acerca de esta tarea

Esta tarea permite configurar el servidor de asignación de lotes y el ejecutor por lotes utilizando el proveedor de mensajería incorporada del perfil Liberty.

Procedimiento

Para configurar el asignador por lotes y el ejecutor por lotes que utilizan el proveedor de mensajería incorporada del perfil Liberty:

  1. Configure el asignador de JMS por lotes.
    1. Habilite el soporte JMS añadiendo la característica wasJmsClient-2.0 al gestor de características en server.xml.
    2. Añada el elemento batchJmsDispatcher al archivo server.xml en el servidor que aloja el asignador por lotes.
      <batchJmsDispatcher connectionFactoryRef={referencia a una fábrica de conexiones JMS configurada}
      	queueRef={referencia a una cola JMS configurada} />
      Nota: Si no especifica los atributos connectionFactoryRef y queueRef, el valor predeterminado de connectionFactoryRef es batchConnectionFactory y el valor predeterminado de queueRef es batchJobSubmissionQueue. De esta forma, puede especificar el elemento batchJmsDispatcher como <batchJmsDispatcher />. Todavía debe configurar la fábrica de conexiones JMS batchConnectionFactory y la cola JMS batchJobSubmissionQueue en el archivo server.xml.
    3. Añada la fábrica de conexiones JMS correspondiente y la cola JMS a la configuración del servidor. Esto no es específico de la configuración por lotes. El ejemplo siguiente ilustra la configuración del asignador JMS por lotes y su configuración JMS.
      Nota: El atributo remoteServerAddress apunta al host:port del servidor que aloja el motor de mensajes del perfil Liberty.
      <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>
  2. Configure el ejecutor JMS por lotes.
    1. Habilite el soporte JMS añadiendo la característica wasJmsClient-2.0 al gestor de características en server.xml.
    2. Añada el elemento batchJmsExecutor al archivo server.xml en el servidor que aloja el ejecutor por lotes.
      <batchJmsExecutor activationSpecRef={especificación de activación configurada o ejecutor por lotes configurado}
      	queueRef={referencia a la cola JMS configurada} />
      Nota: Si no especifica los atributos activationSpecRef y queueRef, el valor predeterminado de activationSpecRef es batchActivationSpec y el valor predeterminado de queueRef es batchJobSubmissionQueue. Como tal, puede especificar el elemento batchJmsExecutor como <batchJmsExecutor />. Todavía debe configurar la especificación de activación JMS para la cola JMS batchActivationSpec y batchJobSubmissionQueue en el archivo server.xml.
    3. Añada la especificación de activación JMS correspondiente y la cola JMS a la configuración del servidor. Esto no es específico de la configuración por lotes.
    4. Defina las prestaciones del servidor ejecutor por lotes incluyendo un selector de mensajes JMS en la especificación de activación.
      • Filtrado basado en propiedades definidas por el sistema:

        Hay un conjunto de propiedades de asignador por lotes disponibles en el mensaje JMS por lotes que el ejecutor por lotes puede utilizar para filtrar los mensajes de entrada.

        • com_ibm_ws_batch_applicationName: el nombre de la aplicación por lotes para la solicitud de trabajo
        • com_ibm_ws_batch_moduleName: el nombre de módulo de la aplicación por lotes para la solicitud de trabajo
        • com_ibm_ws_batch_componentName: el nombre de componente de la aplicación por lotes para la solicitud de trabajo
        Nota: Se recomienda especificar un selector de mensajes con al menos la propiedad com_ibm_ws_batch_applicationName para garantizar que el ejecutor solamente recibe trabajos que puede procesar.
        El ejemplo siguiente indica el atributo messageSelector para que el ejecutor acepte un trabajo para la aplicación SimpleBatchJob y BonusPayout.
        messageSelector="com_ibm_ws_batch_applicationName = 'SimpleBatchJob' OR com_ibm_ws_batch_applicationName = 'BonusPayout'">
        El ejemplo siguiente indica el atributo messageSelector para que el ejecutor acepte un trabajo para la aplicación SimpleBatchJob.
        messageSelector="com_ibm_ws_batch_applicationName = 'SimpleBatchJob'">
      • Filtrado basado en las propiedades definidas por el usuario:

        El asignador por lotes establece todos los parámetros de trabajo que se ajustan a la propiedad de mensajes JMS adecuada en el mensaje de solicitud del asignador por lotes. El selector de mensajes también puede utilizar estas propiedades para añadir un filtrado adicional al selector de mensajes. Como tal, el nombre de la propiedad o el identificador debe ajustarse a las restricciones de propiedad de mensaje JMS. Por ejemplo, la propiedad es una secuencia de longitud ilimitada de letras y dígitos, el primero debe ser una letra. Una letra es cualquier carácter para el que Character.isJavaLetter devuelve true y se incluye '_' y '$'. Una letra o dígito es cualquier carácter para el cual el método Character.isJavaLetterOrDigit devuelve true. Compruebe el Javadoc de JMS para obtener más información sobre el selector de mensajes JMS.

        El ejemplo siguiente ilustra un posible selector de mensajes utilizando la propiedad com_ibm_ws_batch_applicationName y un parámetro de trabajo specialCapability.
        messageSelector="com_ibm_ws_batch_applicationName = 'SimpleBatchJob' AND specialCapability = 'superCapability'">
      En el ejemplo siguiente se ilustra la configuración del ejecutor JMS por lotes y su configuración 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'"
      			   destinationRef="batchJobSubmissionQueue"
      			   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. Instale la aplicación por lotes en el servidor. Para obtener más información, consulte Despliegue de aplicaciones en el perfil Liberty.

Icono que indica el tipo de tema Tema de tarea

Términos y condiciones para centros de información | Comentarios


Icono de indicación de fecha y hora Última actualización: 15 de junio de 2015
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=phil&product=was-libcore-mp&topic=twlp_batch_multiJVMembed
Nombre de archivo:twlp_batch_multiJVMembed.html