• Post Reply Bookmark Topic Watch Topic
  • New Topic

Problems while deploying Message beans to Websphere 6.1.2  RSS feed

 
Unnikrishnan Nair
Ranch Hand
Posts: 42
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi

I have an application which uses message beans, and I am getting the following message when I am trying to deploy the same to Websphere 6.1.2

[7/16/08 9:05:52:558 PDT] 00000017 EJBContainerI E WSVR0040E: addEjbModule failed for EPayEJB.jar [class com.ibm.ws.runtime.component.DeployedEJBModuleImpl]
javax.resource.ResourceException: com.ibm.ejs.jms.listener.MDBException: Creation of MDB EpayOTPMDB unable to find ListenerPort 'null'
++ at com.ibm.ejs.container.MDBHomeBean.activateEndpoint(MDBHomeBean.java:156)++
++ at com.ibm.ws.runtime.component.EJBContainerImpl.install(EJBContainerImpl.java:2967)++
++ at com.ibm.ws.runtime.component.EJBContainerImpl.start(EJBContainerImpl.java:3646)++
++ at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:1295)++
++ at com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectStart(DeployedApplicationImpl.java:1129)++
++ at com.ibm.ws.runtime.component.DeployedModuleImpl.start(DeployedModuleImpl.java:567)++
++ at com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:814)++
++ at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:948)++
++ at com.ibm.ws.runtime.component.ApplicationMgrImpl$AppInitializer.run(ApplicationMgrImpl.java:2114)++
++ at com.ibm.wsspi.runtime.component.WsComponentImpl$_AsynchInitializer.run(WsComponentImpl.java:340)++
++ at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1510)++
Caused by: com.ibm.ejs.jms.listener.MDBException: Creation of MDB EpayOTPMDB unable to find ListenerPort 'null'
++ at com.ibm.ejs.jms.listener.MDBListenerManagerImpl.create(MDBListenerManagerImpl.java:320)++
++ at com.ibm.ejs.container.MDBHomeBean.activateEndpoint(MDBHomeBean.java:151)++
++ ... 10 more++

The application is deployed to Websphere (6.1.2) on RAD 7.0. The queue is MQ, and I have

- created the respective queue factories under Resources/JMS/Queue connection factories
- created the respective queues under Resources/JMS/Queues
(queues information entered in factory and queue are verified through third party apps and are working good)
- created listener ports under Application servers > server1 > Message Listener Service > Listener Ports (they are up and working fine)

The message bean deployment descriptor is as follows

<message-driven id="EpayOTPMDB">
<ejb-name>EpayOTPMDB</ejb-name>
<ejb-class>com.i21.autopay.ejbgateway.EpayOTPMDBBean</ejb-class>
<messaging-type>javax.jms.MessageListener</messaging-type>
<transaction-type>Bean</transaction-type>
<message-destination-type>javax.jms.Queue</message-destination-type>
<activation-config>
<activation-config-property>
<activation-config-property-name>acknowledgeMode</activation-config-property-name>
<activation-config-property-value>Auto-acknowledge</activation-config-property-value>
</activation-config-property>
<activation-config-property>
<activation-config-property-name>destinationType</activation-config-property-name>
<activation-config-property-value>javax.jms.Queue</activation-config-property-value>
</activation-config-property>
</activation-config>
<resource-ref>
<description>
</description>
<res-ref-name>EpayOTPCFRef</res-ref-name>
<res-type>javax.jms.QueueConnectionFactory</res-type>
<res-auth>Application</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
</message-driven>


I tried to do the following on Enterprise Applications > EPayEAR to map the EpayOTPRef and to map Message Driven Bean listener bindings

-> Under "References" > "Resource References" section of "Enterprise Applications > EPayEAR", the target JNDI for EpayOTPRef is mapped to the queue connection factory created under JMS. (Used browse button to browse it into)

-> Under "Enterprise Java Bean Properties" > "Message Driven Bean listener bindings" section of "Enterprise Applications > EPayEAR", the listener port is mentioned as the name of the port under Application servers > server1 > Message Listener Service > Listener Ports)

I clicked OK on both the changes and clicked Apply on "Application servers > server1 > Message Listener Service > Listener Ports > Message Driven Bean listener bindings > EPayEAR" to save the same to the master configuration.

But some how, when I re-open the "Enterprise Applications > EPayEAR", I see both the references and listener bindings wipped out for some reason. If I dont hit "Apply", the values are retained.

In either of the case, if the restart/republish the application on the server, I get the above mentioned exception stack.

Again, I am trying to deploy my application in the local system through IBM RAD 7.0 and using Websphere 6.1.2 as integrated testing server. The server, its sample applications are up and running with exception to my app which fails because of the above exception.

Am I missing something some where? Your technical expertise in here are much appreciated

Thanks
Unni
[ July 16, 2008: Message edited by: Unnikrishnan Nair ]
 
Unnikrishnan Nair
Ranch Hand
Posts: 42
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I have the three more MDBs from the same configuration named EpayOTPMDB1, EpayOTPMDB2 and EpayOTPMDB3 apart from EpayOTPMDB. All have the same xml definition apart from name in the deployment descriptor.

None of the MDBs are getting bound to the listener port after I put the name and clicking OK and apply.

No idea where I lost....Appreciate your helping hand on this

Unni
 
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!