Hello
I've been seeing probe not initalized exceptions that occur on CDI 2.0
but not CDI 1.2, from what I can see when I debug into the issue the problem
occurs in TransactionalObserverNotifier(ObserverNotifier).notifySyncObservers
In CDI 1.2 I see that the the ArrayList
observers has two entries, the first being ProbeExtension.afterDeploymentValidation
In CDI 2.0 I see four entries, with
the first being org.apache.myfaces.cdi.config.FacesConfigExtension
And when the afterDeploymentValidation method of FacesConfigExtension
is called the result is org.jboss.weld.exceptions.IllegalStateException:
PROBE-000005: Probe is not properly initialized. I've attached a stack
from that error:
And the source is on github: https://github.com/apache/myfaces/blob/master/impl/src/main/java/org/apache/myfaces/cdi/config/FacesConfigExtension.java
So what are the options here? I don't
see anything under http://docs.jboss.org/cdi/spec/1.2/cdi-spec.html#after_deployment_validation
saying that you shouldn't invoke beans during after deployment validation
observers. A bit earlier in 11.5 it says "If other beans are injected
into an extension’s observer methods, non-portable behavior results"
but it's not clear if that refers to using the injected bean manager to
lookup a bean.
Presumably if weld-probe needs to run first there's some code to ensure
it does? Do we need to do something to integrate with that code, or avoid
integrating myfaces?
Regards
Benjamin
Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number
741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6
3AU