I have an EAR that deploys without problems in GF 3.0.1. Now that we want to upgrade to GF 3.1.1 we are testing our apps on GF 3.1.1.
One specific app doesn't deploy, it fails with the messages in server.log listed below. No clue whatsoever.
After many trail and error sessions, I finally found that my EAR deploys on GF 3.1.1-b08 but not on GF 3.1.1-b09. So I looked up the differences in svn and after some testing I found that a change in class org.glassfish.weld.WeldDeployer is responsible for the failed deploy:
GLASSFISH-16730: The weld-integration module wasn't firing ProcessInjectionTargetEvents to MessageDriven Beans. So, reference to Beans that are injected through Portable Extensions weren't satisfied as the Extension wasn't receiving ProcessInjectionTarget Events for MDBs. Support for JMS message listeners is added
After adding a try/catch + exception log in method WeldDeployer.firePITEvent(), the following error is shown
To my basic Weld knowledge, the error seems perfectly legal since it's trying to handle an interface class.
I have two issues:
- this error should be logged in server.log
- interfaces that extend javax.jms.MessageListener should not be given to Weld in this case