MonitorExit.java
package com.ibm.wmqfte.exitroutine.api;
import java.util.Map;
/**
* An interface that is implemented by classes that want to be invoked as part of
* user exit routine processing. This interface defines a method that will be
* invoked immediately prior to starting a task as the result of a monitor trigger
*/
public interface MonitorExit {
/**
* Invoked immediately prior to starting a task as the result of a monitor
* trigger.
*
* @param environmentMetaData
* meta data about the environment in which the implementation
* of this method is running. This information can only be read,
* it cannot be updated by the implementation. The constant
* defined in <code>EnvironmentMetaDataConstants</code> class can
* be used to access the data held by this map.
*
* @param monitorMetaData
* meta data to associate with the monitor. The meta data passed
* to this method can be altered, and the changes will be
* reflected in subsequent exit routine invocations. This map
* also contains keys with IBM reserved names. These entries are
* defined in the <code>MonitorMetaDataConstants</code> class and
* have special semantics. The the values of the IBM reserved names
* cannot be modified by the exit
*
* @param taskDetails
* An XML String representing the task to be executed as a result of
* the monitor triggering. This XML string may be modified by the
* exit
*
* @return a monitor exit result object which is used to determine if the
* task should proceed, or be cancelled.
*/
MonitorExitResult onMonitor(Map<String, String> environmentMetaData,
Map<String, String> monitorMetaData,
Reference<String> taskDetails);
}