This chapter (similar as the preceding) defines in general what does it mean to "fire an event" (sync vs async). Let say I am ordinary reader reading the spec from the beginning and I come to this chapter.
First of all I guess I will struggle little bit with the notion of resolved synchronous observers (vs resolved asynchronous observers)
I think the following important information from "10.3. Observer resolution" could be mentioned earlier or some general description/example could be handy:
- The event is fired synchronously and the observer is defined with @Observes.
- The event is fired asynchronously and the observer is defined with @Observes or @ObservesAsync.
Second there is following sentence which TBH I have had fairly hard times to understand:
If synchronous observer have to be notified, fireAsync returns immediately after the last synchronous observer has returned. Otherwise it returns immediately.
...and is IMO wrong. There should be "observers have to be" or "observer has to be" and it could be bit more explanatory.