Integration Server 10.5 | Integration Server Administrator's Guide | Managing MQTT Triggers | MQTT Trigger State and Status | Changing the State of an MQTT Trigger
 
Changing the State of an MQTT Trigger
You can change the state of a single MQTT trigger or all of the MQTT triggers on the Integration Server.
Keep the following information in mind when changing the state of an MQTT trigger:
*If you want to disable an MQTT trigger, first suspend the MQTT trigger and wait for all trigger processing threads to complete. Then disable the trigger. You can view the number of threads currently used by a MQTT trigger in the Current Threads column on the Settings > Messaging > MQTT Trigger Management page.
*If you disable an MQTT trigger without first suspending it, message processing might not complete before the trigger is disabled.
*When you suspend an enabled MQTT trigger, Integration Server:
*Stops retrieving messages from the MQTT server.
*Stops pulling messages for processing from the local trigger queue.
*Continues to process any messages that the trigger already retrieved from the local trigger queue.
*When you disable a suspended MQTT trigger for which all message processing has completed, Integration Server:
*Clears the local trigger queue.
*Stops the listener that the trigger uses to retrieve messages. This disconnects the MQTT trigger from the MQTT server.
*When you disable an enabled MQTT trigger, (that is, you do not first suspend the trigger), Integration Server:
*Stops retrieving messages from the MQTT server.
*Stops pulling messages for processing from the local trigger queue.
*Waits a short amount of time for message processing to complete. If message processing has not completed by the time the timeout elapses, Integration Server stops the listener for the MQTT trigger. After Integration Server stops the listener Integration Server cannot acknowledge any outstanding messages Any server thread processing message for the MQTT trigger continues to completion; however, acknowledgment of the MQTT message upon completion of processing will fail.
The server configuration parameter watt.server.commonmessaging.trigger.stopRequestTimeOut determines the maximum time that Integration Server waits for processioning to complete. The default is 3 seconds.
*If the MQTT trigger is waiting before making a retry attempt due to transient error handling, Integration Server interrupts processing for the MQTT trigger. No further retry attempts will be made.
*Clears the local trigger queue.
*Stops the listener that the trigger uses to retrieve messages. This disconnects the MQTT trigger from the MQTT server.
*To change the state of an MQTT trigger
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 MQTT Trigger Management.
4. If you want to change the state of all MQTT triggers, do the following:
a. In the Enabled column, click edit all.
b. On the Settings > Messaging > MQTT Trigger Management > Edit Triggers State screen, in the New State list, select the state that you want to apply to all MQTT triggers.
5. If you want to change the state of a specific MQTT trigger, do the following:
a. In the row for the MQTT trigger that you want to enable, disable, or suspend, select the current text in the State column
b. On the Settings > Messaging > MQTT Trigger Management > Edit State screen, in the New State list, select the state that you want to apply to this MQTT trigger.
6. Click Save Changes.