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.