How TIBCO BusinessEvents handles State timeouts when multiple InferenceAgents have been started.

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.