Hello,
I have been trying to get a Java message driven bean to work on Liberty 20.0.0.7, but I think I may be missing something. I have followed all the configs as described in the link below.
https://www.ibm.com/support/knowledgecenter/SSEQTP_liberty/com.ibm.websphere.wlp.doc/ae/twlp_dep_msg_mdbwmq.htmlI can see that the MDB is being registered by Liberty. When I put a message on the MQ queue, I immediately see log messages in Liberty which means that my listener has been configured to listen to messages on the queue. However, there is an error where Liberty is unable to inject the MDB bean for use.
From the trace logs, I see that the Websphere Liberty Bean deployment archive (BDA) is null. Below is code from getEjbDescriptor() method of the
CDIEJBManagedObjectFactoryImpl class where I get a null.
open-liberty-gm-20.0.0.7\dev\com.ibm.ws.cdi.weld\src\com\ibm\ws\cdi\impl\managedobject\CDIEJBManagedObjectFactoryImpl.javaWebSphereBeanDeploymentArchive bda = super.getCurrentBeanDeploymentArchive();
// above returns null. WebSphereBeanDeploymentArchive cannot be obtained for some reason
Below is a snippet from the Liberty log
[ERROR ] CNTR0019E: EJB threw an unexpected (non-declared) exception during invocation of method "onMessage". Exception data: java.lang.NullPointerException
at com.ibm.ws.cdi.impl.managedobject.CDIEJBManagedObjectFactoryImpl.getEjbDescriptor(CDIEJBManagedObjectFactoryImpl.java:147)
Any help would be greatly appreciated. Thanks..
------------------------------
Vivek Vasu
System Analyst
IBM
Bangalore
(804) 066-1257
------------------------------