Products | Versions |
---|---|
TIBCO BusinessEvents Enterprise Edition | - |
Not Applicable | - |
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.