0

I have an application deployed on Websphere 8.5.5.2, The application has many MDBs, those MDBs are bound to response queues on Websphere MQ 7.1 using websphere "Activation specification". However, I always get this error in the console and MDBs couldn't consume any messages from the queues

CWSJY0003W: MQJCA4004: Message delivery to an MDB 'null' failed with exception: 'endpoint needs to be activated.'.

I tried the same application using SIB and things were perfect.

What causing this error and make MDBs incapable to consume messages from the queues on MQ??

2 Answers2

1

The error message MQJCA4004 means that the message couldn't be delivered to the MDB. The last part of the exception: 'endpoint needs to be activated.' is the reason why. The endpoint here is the Message Endpoint which is the endpoint the container creates to managed your MDB instance. The fact that it isn't active means that it was either deactivated due to any earlier error or is marked not to started. However, the MQ Resource Adapter should not have attempted to delivery the message in the first place unless the endpoint had at least being activated to start with.

So the mostly likely reason is an earlier error (including application error) has caused the message endpoint to be deactivated. Have a look in the SystemOut.log for an earlier error and look for the warning message CWWMQ0007W

whitfiea
  • 1,943
  • 10
  • 15
0

I finally found the cause.. In websphere console, under resources->jms>activation specifaction->'Your entry'->advanced poperties, scroll down to the bottom and uncheck 'stop endpoint if message fail'

good luck for every one