Description
Because of erroneus usages of method fireEvent (where fireLifecycleEvent should be) if a situation as described below holds, an error is generated.
When:
-bean A depends on bean B and C
-bean A declares observer method with parameters @Observes Object event (which means, that it observes all events)
There is (sometimes, it depends on a classpath) a deployment error because A cannot be built if B and C were not analyzed from the classpath. A should be build, because a containter wants to fire an event ProcessObserverMethod. The problem is, that this event is a lifecycle event and it should be never fired to bean A which is not Extension specialization (however v. 1.2.8 does it – incorrectly).
The observation is done according to 11.5 of CDI 1.0 specs which clearly states that: "Observer methods of these events must belong to
extensions". The events are Lifecycle events.
AFAIK it is a problem in class org.apache.webbeans.util.WebBeansUtil, where methods firing lifecycle events (e.g fireProcessObservableMethodBeanEvent) uses method fireEvent instead of fireLifecycleEvent (from class BeanManagerImpl).