When the correlator terminates event listeners
The correlator terminates event listeners in the following situations:
The event listener’s event expression evaluates to true, and does not specify the
all keyword. The correlator executes the specified action. Since the single defined match was found, the correlator terminates the event listener.
The correlator recognizes that an event listener’s event expression can never evaluate to true. For example:
on ( A() -> B() ) and not C()
The event listener starts by seeking both A() -> B() and not C() concurrently. If an event matching C is received before one matching B, the C clause evaluates to true, and hence not C becomes false. This means that (A() -> B()) and not C() can never evaluate to true, and hence this event listener will never trigger its action. The correlator terminates these zombie event listeners periodically.
Copyright © 2013
Software AG, Darmstadt, Germany and/or Software AG USA Inc., Reston, VA, USA, and/or Terracotta Inc., San Francisco, CA, USA, and/or Software AG (Canada) Inc., Cambridge, Ontario, Canada, and/or, Software AG (UK) Ltd., Derby, United Kingdom, and/or Software A.G. (Israel) Ltd., Or-Yehuda, Israel and/or their licensors.