Building Your Event-Driven Architecture : Integration Server Administrator’s Guide : Managing JMS Triggers : Enabling, Disabling, and Suspending JMS Triggers
Enabling, Disabling, and Suspending JMS Triggers
 
Configuring Integration Server to Enable JMS Triggers Automatically after a Consumer Error
You can manage JMS triggers and the amount of resources they consume by changing the state of a JMS trigger. A JMS trigger can have one of the following states:
Trigger State
Description
Enabled
The JMS trigger is running and connected to the JMS provider. Integration Server retrieves and processes messages for the JMS trigger.
Disabled
The JMS trigger is stopped. Integration Server neither retrieves nor processes messages for the JMS trigger. The JMS trigger remains in this state until you enable the trigger.
Suspended
The JMS trigger is running and connected to the JMS provider. Integration Server has stopped message retrieval, but continues processing any messages it has already retrieved. Integration Server enables the JMS trigger automatically upon server restart or when the package containing the JMS trigger reloads.
Using the Integration Server Administrator, you can:
*Enable, disable, or suspend all JMS triggers.
*Enable, disable, or suspend all the JMS triggers of a specific type (standard or SOAP-JMS).
*Enable, disable, or suspend specific JMS triggers.
You might want to change the state of all JMS triggers at once as a quick way of freeing up server resources. This can be especially helpful in a situation in which Integration Server is functioning under heavy load and additional resources are needed immediately.
You might want to change the state for a specific JMS trigger in the following situations:
*When a back-end system needs maintenance or is becoming unresponsive, you might want to suspend JMS triggers that interact with the back-end system. When the back-end system becomes available, you can enable the JMS triggers.
*After suspending or disabling all JMS triggers, you might enable specific JMS triggers. For example, if the server is functioning under an unusually heavy load, you might first suspend all JMS triggers and then gradually enable JMS triggers, starting with the JMS triggers involved in key processes.
*After Integration Server suspends a serial JMS trigger automatically because a fatal error occurred during message processing. For information about configuring a JMS trigger for fatal error handling, see webMethods Service Development Help.
*After creating a WS endpoint trigger by creating a provider web service endpoint alias for JMS.
Important:  
If you disable or suspend a SOAP-JMS trigger that acts as a listener for one or more provider web service descriptors, Integration Server will not retrieve any messages for those web service descriptors.
The following procedure explains how to use Integration Server Administrator to change the state of all or individual JMS triggers.
To enable, disable, or suspend JMS triggers
1. Open the Integration Server Administrator if it is not already open.
2. In the Settings menu of the Navigation panel, click Messaging.
3. Click JMS Trigger Management.
4. If you want to change the state of all JMS triggers, do the following:
a. Under Individual JMS Trigger Controls, in the Enabled column, click edit all.
b. On the Settings > Messaging > JMS Trigger Management > Edit Triggers State screen, in the New State list, select the state that you want to apply to all JMS triggers.
c. In the JMS Trigger Type list, select one of the following:
Select...
To...
Standard
Apply the state change to standard JMS triggers only.
SOAP
Apply the state change to SOAP-JMS triggers only, including WS endpoint triggers.
All
Apply the state change to all JMS triggers.
5. If you want to change the state of a specific JMS trigger, do the following:
a. Under Individual JMS Trigger Controls, in the row for the JMS trigger that you want to enable, disable, or suspend, click the text in the Enabled column
b. On the Settings > Messaging > JMS Trigger Management > Edit Triggers State screen, in the New State list, select the state that you want to apply to this JMS trigger.
6. Click Save Changes.
Notes:
*If you want to disable a JMS trigger, first suspend the JMS trigger and wait for all the processing threads complete. Then, disable the JMS trigger. You can view the number of threads currently used by a JMS trigger on the Settings > Messaging > JMS Trigger Management screen.
*When you disable a JMS trigger, Integration Server does the following:
*If the JMS trigger is waiting before making a retry attempt, Integration Server interrupts processing for the JMS trigger.
*If the JMS trigger is currently processing messages, Integration Server waits a specified amount of time before forcing the JMS trigger to stop processing messages. If it does not complete in the allotted time, Integration Server stops the message consumer used to receive messages for the JMS trigger and closes the JMS session. At this point the server thread for the JMS trigger continues to run to completion. However, the JMS trigger will not be able to acknowledge the message when processing completes. If the delivery mode of the message is set to persistent, this can lead to duplicate messages.
The time Integration Server waits between the request to disable the JMS trigger and forcing the trigger to stop is specified by the watt.server.jms.trigger.stopRequestTimeout property.
*Because administered objects, like destinations, are configured outside of Integration Server, disabling a JMS trigger has no impact on the subscription.
*If a JMS trigger is processing messages at the time it is suspended, the JMS trigger will complete processing of those messages. The JMS trigger also acknowledges the messages to the JMS provider.
*You can use built-in services to enable, disable, and suspend one or more triggers. For information about the pub.trigger:disableJMSTriggers, pub.trigger:enableJMSTriggers, and pub.trigger:suspendJMSTriggers services, see the webMethods Integration Server Built-In Services Reference.
Copyright © 2016 - 2016 Software AG, Darmstadt, Germany.

Product LogoContact Support   |   Community   |   Feedback