
![[8.5.5.6 oder höher]](../ng_v8556.gif)
Unterstützung für mehrere Server durch Verwendung des WebSphere MQ-Messaging-Providers aktivieren
Die Stapelumgebung kann so eingerichtet werden, dass einige Server als Stapeldispatcher fungieren und andere Server als Stapelexecutor. Stapeldispatcher akzeptieren Anforderungen von externen Clients und stellen sie für die Stapelexecutor bereit. Die Stapelexecutor empfangen Anforderungen, die ihrer definierten Funktionalität entsprechen, und führen diese Anforderungen aus. Stapeldispatcher und Stapelexecutor kommunizieren über Java Messaging Service (JMS) miteinander.
Informationen zu diesem Vorgang
Diese Task unterstützt Sie bei der Konfiguration des Servers für den Stapeldispatcher und den Stapelexecutor unter Verwendung des WebSphere MQ-Messaging-Providers.
Vorgehensweise
- Konfigurieren Sie den JMS-Stapeldispatcher.
- Fügen Sie der Datei server.xml das Feature wmqJmsClient-2.0 hinzu, um die JMS-Unterstützung zu aktivieren.
- Fügen Sie der Datei server.xml auf dem Server, der den Stapeldispatcher hostet,
das Element batchJmsDispatcher hinzu.
<batchJmsDispatcher connectionFactoryRef={Referenz auf eine konfigurierte JMS-Verbindungsfactory} queueRef={Referenz auf eine konfigurierte JMS-Warteschlange} />
Anmerkung: Wenn Sie die Attribute connectionFactoryRef und queueRef nicht angeben, wird für connectionFactoryRef der Standardwert batchConnectionFactory und für queueRef der Standardwert batchJobSubmissionQueue verwendet. Von daher können Sie das Element batchJmsDispatcher als <batchJmsDispatcher /> angeben. Die JMS-Verbindungsfactory batchConnectionFactory und die JMS-Warteschlange batchJobSubmissionQueue müssen trotzdem in der Datei server.xml konfiguriert werden. - Nehmen Sie die entsprechende JMS-Verbindungsfactory und JMS-Warteschlange in die Serverkonfiguration auf.
Dies ist nicht spezifisch für die Stapelkonfiguration. Das folgende Beispiel zeigt die Konfiguration des JMS-Stapeldispatchers und die zugehörige JMS-Konfiguration.
<batchJmsDispatcher connectionFactoryRef="batchConnectionFactory" queueRef="batchJobSubmissionQueue" /> <!-- WMQ-Ressourcenadapter --> <variable name="wmqJmsClient.rar.location" value="${server.config.dir}/wmq.wlp.rar"/> <!-- erforderlich für Bindungsmodus --> <wmpJmsClient nativeLibraryPath="/mqm/jms/java/lib" /> <authData password="pwd" user="user"> </authData> <jmsConnectionFactory id="batchConnectionFactory" jndiName="jms/batch/connectionFactory"> <properties.wmqJms transportType="BINDINGS" queueManager="WMQX"> </properties.wmqJms> </jmsConnectionFactory> <!-- baseQueueName ist die auf dem WMQ-System definierte Warteschlange --> <jmsQueue id="batchJobSubmissionQueue" jndiName="jms/batch/jobSubmissionQueue"> <properties.wmqJms baseQueueName="BATCHQ" priority="QDEF" baseQueueManagerName="WMQX"> </properties.wmqJms> </jmsQueue>
- Konfigurieren Sie den JMS-Stapelexecutor.
- Fügen Sie der Datei server.xml das Feature wmqJmsClient-2.0 hinzu, um die JMS-Unterstützung zu aktivieren.
- Fügen Sie der Datei
server.xml auf dem Server, der den Stapelexecutor hostet, das Element
batchJmsExecutor hinzu.
<batchJmsExecutor activationSpecRef={konfigurierte Aktivierungsspezifikation oder Stapelexecutor} queueRef={Referenz auf die konfigurierte JMS-Warteschlange} />
Anmerkung: Wenn Sie die Attribute activationSpecRef und queueRef nicht angeben, wird für activationSpecRef der Standardwert batchActivationSpec und für queueRef der Standardwert batchJobSubmissionQueue verwendet. Von daher können Sie das Element batchJmsExecutor als <batchJmsExecutor /> angeben. Die JMS-Aktivierungsspezifikation für batchActivationSpec und die JMS-Warteschlange batchJobSubmissionQueue müssen trotzdem in der Datei server.xml konfiguriert werden. - Nehmen Sie die entsprechende JMS-Aktivierungsspezifikation und JMS-Warteschlange in die Serverkonfiguration auf. Dies ist nicht spezifisch für die Stapelkonfiguration.
- Definieren Sie Leistungsmerkmale des Stapelexecutor-Servers,
indem Sie in die Aktivierungsspezifikation einen JMS-Nachrichtenselektor aufnehmen.
- Filterung auf der Basis systemdefinierter Eigenschaften:
Für die JMS-Stapelnachricht sind eine Reihe von Stapeldispatchereigenschaften verfügbar, die der Stapelexecutor zum Filtern ankommender Nachrichten verwenden kann.
- com_ibm_ws_batch_applicationName: Der Name der Stapelanwendung für die Jobanforderung.
- com_ibm_ws_batch_moduleName: Der Modulname der Stapelanwendung für die Jobanforderung.
- com_ibm_ws_batch_componentName: Der Komponentenname der Stapelanwendung für die Jobanforderung.
Anmerkung: Es wird empfohlen, zumindest mit der Eigenschaft com_ibm_ws_batch_applicationName einen Nachrichtenselektor anzuegeben, um sicherzustellen, dass der Executor nur Jobs empfängt, die er verarbeiten kann.Im folgenden Beispiel legt das Attribut messageSelector für den Executor fest, dass ein Job für die Anwendungen SimpleBatchJob und BonusPayout akzeptiert werden soll.messageSelector="com_ibm_ws_batch_applicationName = 'SimpleBatchJob' OR com_ibm_ws_batch_applicationName = 'BonusPayout'">
Im folgenden Beispiel legt das Attribut messageSelector für den Executor fest, dass ein Job für die Anwendung SimpleBatchJob akzeptiert werden soll.messageSelector="com_ibm_ws_batch_applicationName = 'SimpleBatchJob'">
- Filterung auf der Basis benutzerdefinierter Eigenschaften:
Der Stapeldispatcher legt alle Jobparameter, die der richtigen JMS-Nachrichteneigenschaft entsprechen, in seiner Anforderungsnachricht fest. Diese Eigenschaften können vom Nachrichtenselektor ebenfalls verwendet werden, um eine zusätzliche Filterung hinzuzufügen. Der Eigenschaftsname oder die Eigenschafts-ID muss die Bedingungen einer JMS-Nachrichteneigenschaft erfüllen. Beispielsweise ist die Eigenschaft eine unbegrenzte Folge von Buchstaben und Ziffern, wobei das erste Zeichen ein Buchstabe sein muss. Ein Buchstabe ist ein Zeichen, für das die Methode Character.isJavaLetter den Wert true zurückgibt und umfasst auch die Zeichen "_" und "$". Ein Buchstabe oder eine Ziffer ist ein Zeichen, für das die Methode Character.isJavaLetterOrDigit den Wert true zurückgibt. Weitere Informationen zu JMS-Nachrichtenselektoren finden Sie in der JMS-Javadoc.
Im folgenden Beispiel verwendet ein potenzieller Nachrichtenselektor die Eigenschaft com_ibm_ws_batch_applicationName und den Jobparameter specialCapability.messageSelector="com_ibm_ws_batch_applicationName = 'SimpleBatchJob' AND specialCapability = 'superCapability'">
<batchJmsExecutor activationSpecRef="batchActivationSpec" queueRef="batchJobSubmissionQueue"/> <!-- WMQ-Ressourcenadapter --> <variable name="wmqJmsClient.rar.location" value="${server.config.dir}/wmq.wlp.rar"/> <!-- erforderlich für Bindungsmodus --> <wmqJmsClient nativeLibraryPath="/mqm/jms/java/lib" /> <authData password="pwd" user="user"> </authData> <JmsActivationSpec id="batchActivationSpec" > <properties.wmqJms destinationRef="batchJobSubmissionQueue" messageSelection="com_ibm_ws_batch_applicationName = 'SimpleBatchJob' OR com_ibm_ws_batch_applicationName = 'BonusPayout'" transportType="BINDINGS" queueManager="WMQX"> </properties.wmqJms> </jmsActivationSpec> <!-- baseQueueName ist die auf dem WMQ-System definierte Warteschlange --> <jmsQueue id="batchJobSubmissionQueue" jndiName="jms/batch/jobSubmissionQueue"> <properties.wmqJms baseQueueName="BATCHQ" priority="QDEF" baseQueueManagerName="WMQX"> </properties.wmqJms> </jmsQueue>
- Filterung auf der Basis systemdefinierter Eigenschaften:
- Installieren Sie die Stapelanwendung auf dem Server. Weitere Informationen hierzu finden Sie unter Anwendungen im Liberty-Profil implementieren.

Nutzungsbedingungen für Information Center | Feedback

http://www14.software.ibm.com/webapp/wsbroker/redirect?version=phil&product=was-libcore-mp&topic=twlp_batch_multiJVMmq
Dateiname: twlp_batch_multiJVMmq.html