How TIBCO BusinessEvents handles State timeouts when multiple InferenceAgents have been started.
book
Article ID: KB0091580
calendar_today
Updated On:
Products
Versions
TIBCO BusinessEvents Enterprise Edition
-
Not Applicable
-
Description
Resolution: Description: =========== How TIBCO BusinessEvents handles State timeouts when multiple InferenceAgents have been started.
Environment: =========== TIBCO BusinessEvents 4.x/5.x All Operating Systems
Resolution: ======== The timeout event of State machines will only be processed by one Inference Agent at a time. Other Agens will take over the job once the current one has been stopped. The first Inference Agent who joined the cluster takes the responsibility.
To validate/confirm if an agent handles the State timeouts enable JMX (CDD property be.engine.jmx.connector.port in ProcessUnit TAB ) open JVisualVM or JConsole and connect to the agent. Check in MBean com.tibco.be if entry schedulers exist. The entry is available only for the InferenceAgent who handles the StateTimeouts.
NOTE: It's required to register a callback RuleFunction in a startup RuleFunction of each InferenceAgent (using Cluster.registerStateMachineTimeoutCallback()) that acts as a preprocessor for state machine (and state) timeouts to implement locking.
Issue/Introduction
How TIBCO BusinessEvents handles State timeouts when multiple InferenceAgents have been started.