tags:

views:

15

answers:

1

Hi all,

I am using CDI and want to know how the caller is notified that the observer has observed an event or didn't. If no observes act on that event, then I want to do something. I don't see this being documented anywhere in the documentation other than there was a hint that the caller is notified.

Thanks,

Walter

+1  A: 

I don't think the caller is notified (it's not what the observer pattern is about actually). But you can try to work this around by:

  • you can have a field one the event object - private boolean consumed and set it to true if it is consumed. Then, (the events are handled synchronously) in the event-producer check that variable.

  • firing a new event from the observers that is observed by the event producer

  • If you want to drop the benefit of the loose coupling, and you know exactly which the event producer is is, you can @Inject it into all listeners, and let them invoke a method on it

Bozho
"it's not what the observer pattern is about actually" +1 just for this
Pascal Thivent
True, I'm thinking how to what it is I want to do.