Events are synchronous and doesn't have the concept of scope. Asynchronous observers were dropped from the spec but might make a re-appearance later (well, transactional observers are semi-asynchronous. They happen later but when they are fired, they're synchronous).
You can use JMS as an event bus also (woohooo!)
Remote EJB:s can listen to events too. It's just method calls. And if the EJB is not available, well then the application hangs ;-)
thx for the answers! so then there is a need for asynchronous observers.
so if the application hangs we must set some timeout config for the event/observe process, no?
Dunno, pretty much the same situation you have to deal with normal remote ejb calls (haven't used them that much)...