I’m just now trying to upgrade to Weld 3.0.0 Alpha 16 (from Alpha10) and I’m finding a significant change in the way the proxies are generated. This seems to be the result of this ticket: https://issues.jboss.org/browse/WELD-2092
In short, it seems that decorated beans that have private methods that @Observe events are invoked on the wrong instance. They get invoked on an uninitialized proxy instance instead of the properly initialized bean instance.
I’m still working to put together a small project that reproduces this problem, but that may take me until tomorrow. My actual project is too large.
Has anyone else reported this type of problem? Where an @ApplicationScope bean with a decorator and a private method with arguments that @Observe some event are invoked on the wrong object instance? In this case, I’m enabling RunnableDecorator, and one of my AppScope beans implements Runnable, and it has a private observer method.
I did my best to search for any other posts on this problem, but didn’t find anything relevant (other than the JIRA ticket I referenced above).
Thanks,
Larry.