IBM Support

TroubleShooting: MQ Java Message Service (JMS) problems for WebSphere Application Server

Troubleshooting


Problem

Troubleshooting for MQ Java™ Message Service (JMS) problems in WebSphere Application Server. This should help address common issues with this component before calling IBM support and save you time.

Resolving The Problem

Tab navigation




TroubleShooting steps to help resolve JMS problems
  1. What JMS Provider are you using?
    • WebSphere MQ JMS Provider - continue to Question 2

    • Default Messaging JMS Provider - refer to the TroubleShooting and MustGather documents for Service integration technologies

  2. Is the listener port or activation specification that is associated with the MDB started? You can check the status using the administrative console or the SystemOut.log file for the application server.
    • If yes, continue to Question 3.
    • If no, start the listener port or activation specification using the Administrative Console.

  3. Is the listener port unable to start? The following error indicates that the listener port is unable to start:


    WMSG0059E: Maximum restart retry count of 5 reached for Listener Port MyListenerPort
    • If the preceding error does occur when the listener port attempts to start, ensure that the queue manager is started, and consider increasing the MAX.RECOVERY.RETRIES and RECOVERY.RETRY.INTERVAL properties. They are described here. You should also check for any other errors that may show the reason why the listener port fails to start and then continue to Question 4.
    • If the listener port does start, continue to Question 4.

  4. Are you getting a specific error that causes the MDB to not receive messages?
    • If you are receiving a java.lang.ClassCastException: com.ibm.jms.JMSBytesMessage, review this technote.
    • For a MQJMS2005 error with Reason code 2009, review this technote.
    • If transaction timeouts or rollbacks occur, review this technote and set the Maximum messages property on the listener port to 1.
    • If you are not encountering any of the preceding errors, continue to Question 5.


  5. Did the listener port stop due to the Maximum retries property on the listener port being reached? When this occurs, an entry like this will appear in the SystemOut.log file for the application server:


    WMSG0036E: Maximum message delivery retry count of 1 reached for MDB MyMDB, JMSDestination jms/myQueue, MDBListener stopped

    • If yes, ensure that the backout threshold property on the queue is set to a value higher than the Maximum retries property on the listener port. You can find more information about this here.
    • If no, continue to Question 6.

  6. Is the problem related to slower than expected performance with the MDB? For example, the MDB processes messages more slowly than you believe it should.
    • If yes, consider increasing the Maximum sessions property on the listener port (described here) and the com.ibm.mq.jms.tuning.eoqTimeout JVM™ property (described here).
    • If no, continue to Question 7.

  7. Is the problem related to security; for example, any errors related to authentication and authorization of JMS requests?
    • If yes, continue to Question 8.
    • If no, continue to Question 9.

  8. Are either of the following authentication errors occurring when trying to establish a JMS connection?


    MSGS0508E: The JMS Server security service was unable to authenticate userid: myuser
    javax.jms.JMSSecurityException: MQJMS2013: invalid security authentication supplied for MQQueueManager


    • If yes, ensure that a J2C authentication alias is specified on your QCF or TCF.
    • If no, continue to Question 9.

  9. Is the problem related to the connection between WebSphere Application Server and the messaging system? This would include connection pooling problems.
    • If yes, continue to Question 10.
    • If no, continue to Question 13.

  10. Is the problem related to the number of TCP/IP connections that you observe between your application server process and an MQ queue manager?
    • If yes, or if you want to gain an understanding of how JMS connection pooling in WebSphere Application Server works, review this technote.
    • If no, continue to Question 11.

  11. Are you receiving JMS exceptions with MQ reason code 2019?
    • If yes, review this technote.
    • If no, continue to Question 12.

  12. Are you receiving the following exception?


    J2CA0020E: The Connection Pool Manager could not allocate a Managed Connection: java.lang.IllegalStateException: Internal Error: cannot find the PoolManager Reference

    • If yes, review this technote.
    • If no, continue to Question 13.

  13. Review the WebSphere Application Server Information Center, or the WebSphere Application Server Support site for additional information that may help you to resolve the problem.

What to do Next?
If the preceding troubleshooting steps did not solve your problem, see the MustGather for JMS problems to continue investigation.

[{"Product":{"code":"SSEQTP","label":"WebSphere Application Server"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Component":"Java Message Service (JMS)","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF010","label":"HP-UX"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"},{"code":"PF033","label":"Windows"}],"Version":"8.5.5;8.5;8.0;7.0","Edition":"Base;Enterprise;Express;Network Deployment;WebSphere Business Integrations Server Foundation","Line of Business":{"code":"LOB45","label":"Automation"}},{"Product":{"code":"SSNVBF","label":"Runtimes for Java Technology"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Component":"Java SDK","Platform":[{"code":"","label":""}],"Version":"","Edition":"","Line of Business":{"code":"LOB36","label":"IBM Automation"}}]

Document Information

Modified date:
15 June 2018

UID

swg21230514