My general approach is to use Events / Listeners inside one application, they are really efficient and fast, and there are many tools in the IDE, which makes them relatively easy to implement. My rule is to use this template if you really need to be sure that the listener receives an event notification every time.
I use the signal / slot pattern in SOA or system integration applications as it is more state-friendly and state-friendly.
source share