+

Search Tips   |   Advanced Search

Messaging troubleshooting tips

These tips are to help troubleshoot the WebSphere messaging configuration.

This topic references one or more of the application server log files. As a recommended alternative, we can configure the server to use the High Performance Extensible Logging (HPEL) log and trace infrastructure instead of using SystemOut.log , SystemErr.log, trace.log, and activity.log files on distributed and IBM i systems. We can also use HPEL in conjunction with the native z/OS logging facilities. If we are using HPEL, we can access all of the log and trace information using the LogViewer command-line tool from the server profile bin directory. See the information about using HPEL to troubleshoot applications for more information on using HPEL.

To help you identify and resolve problems with messaging, we can use the WAS trace and logging facilities.

To help you identify and resolve problems with messaging, we can use the WAS trace and logging facilities as described in Set up component trace (CTRACE).

If we are having problems deploying or running applications that use the WAS messaging capabilities, see the following topics:

If we see WebSphere MQ error messages or reason codes in WebSphere Application Server messages and logs, refer to the Messages section of the WebSphere MQ information center.

Check to see if the problem has been identified and documented, using the links in Diagnosing and fixing problems: Resources for learning.

Here is a set of tips to help troubleshoot commonly-experienced problems. If we do not see a problem that resembles yours, or if the information provided does not solve the problem, contact IBM support for further assistance.


WebSphere MQ resource adapter configuration is not automatically updated and requires manual maintenance

Normally the WebSphere MQ resource adapter is automatically updated when you apply a WAS fix pack. However, if we have manually updated the WebSphere MQ resource adapter on some nodes in the environment, applying a fix pack does not automatically update the resource adapter used by servers on those nodes.

To resolve this issue, see Maintain the WebSphere MQ resource adapter.


java.lang.ClassNotFoundException exceptions occur when you install a fix pack

If, when installing a fix pack you see the following message, follow the instructions in Maintain the WebSphere MQ resource adapter to try and resolve the problem:

J2CA0043E: An exception occurred while trying to instantiate a ResourceAdapter
JavaBean instance for the installed ResourceAdapter defined by key #removed#


Messages from WebSphere MQ for z/OS are not being consumed by JMS applications

Messages from WebSphere MQ for z/OS are not being consumed by JMS applications that are deployed into WebSphere Application Server and that use connection factories or activation specifications

For more information about how to configure the Provider version property, see any of the following topics:


A JMS application can no longer send or receive messages

When you configure an application to use the default messaging provider, you associate it with either of the following resource sets:

To help resolve this problem, use the following administrative console panels to inspect the configuration of the applications and JMS resources:


An MDB listener fails to start

If an MDB listener deployed against a listener port fails to start, you should see the following message:

To help resolve this problem, check the following factors:


Problems running JMS applications with security enabled

When you try to run a JMS application with security enabled, we can encounter authentication problems indicated by one or more of the following error messages:

This example indicates that the security credentials supplied are not valid.

To resolve this problem, check the security configuration:

If you are using WebSphere MQ as a JMS provider, with JMS connection and using bindings transport mode, and the user specified is not the current logged-on user for the WAS process, the JMS bindings authentication by WebSphere MQ generates an invalid security authentication error.

To resolve this problem, check the security configuration. When you configure the WebSphere MQ JMS provider to use bindings transport mode, set the property Transport type to BINDINGS on the WebSphere MQ queue connection factory. At this time, we also choose one of the following options:

For more information about messaging security, see Secure messaging.


Application server does not start when the zh_TW.EUC locale is set on Solaris

On Solaris, if set the locale to zh_TW.EUC and you are using WebSphere MQ as a JMS provider, your application servers might not start up.

To resolve this problem, set the LANG and LC_ALL variables to zh_TW.


Server memory consumption and java.lang.OutOfMemoryError exception when processing JMS messages

When you use the default messaging provider, JMS messages are processed by a messaging engine within the application server process. This approach consumes memory from the application server JVM heap. If there is significant concurrent processing of large messages, and the amount of memory available to the JVM heap is not enough to handle this event, then a java.lang.OutOfMemoryError exception is thrown and the application server terminates.

To resolve this problem, estimate the potential number of concurrent processors or consumers of messages and the message sizes, then set the size of the application server JVM heap to handle the effect. For example:

  1. When you deploy a message-driven bean that processes messages concurrently, estimate the potential consumption of the application server memory by concurrent endpoints. Note that each endpoint that is concurrently processing a message request adds at least two times the message size to the server JVM heap and can add more, especially if a two-phase transaction is in place.

  2. Start the WAS administrative console.

  3. Navigate to Servers > Server Types > WebSphere application servers > server_name > Java and Process Management > Process Definition > Java Virtual Machine, then configure the amount of memory available to the application server JVM heap by setting the Initial Heap Size and Maximum Heap Size properties.

  4. Navigate to Resources > JMS > JMS providers > Default messaging provider > Activation specifications > activation_specification_name, then configure the number of concurrent MDB endpoints that can process messages by setting the Maximum concurrent endpoints property of the activation specification for this message-driven bean.


TopicConnectionFactory attributes clash error

When creating a JMS topic subscriber that uses the WebSphere MQ messaging provider, the following error message can occur in the SystemOut.log file:

WSVR0017E: Error encountered binding the J2EE resource, TopicConnectionFactory, as <JNDI_NAME>
   from file:<RESOURCES_FILE> com.ibm.ws.runtime.component.binder.ResourceBindingException: invalid
   configuration passed to resource binding logic. REASON: Failed to create connection factory:
   Error raised constructing AdminObject, error code: TopicConnectionFactory attributes clash  :    TopicConnectionFactory attributes clash 

This problem is caused by the configuration of the JMS topic connection factory used to create the subscriber, which specifies a broker version of "Basic" and a message selection value of "Broker". The "Basic" WebSphere MQ broker (MA0C SupportPac broker) does not support "Broker" message selection.

To resolve this problem, change the JMS topic connection factory to specify a message selection value of "Client", which is the only supported value for the WebSphere MQ Basic broker (MA0C SupportPac broker).


WSEC5061E: The SOAP Body is not signed exception

When you run a secured web services application that uses JMS transport under the WebSphere MQ messaging provider, the following error message can occur in the SystemOut.log file:

This problem occurs under the following circumstances:

The problem occurs when a request sent from the original application is processed through the same queue, but to the different application server where security is not enabled.

To resolve this problem:

  1. Create a unique queue manager with a unique port in the WebSphere MQ server.

  2. Reconfigure the JMS resources to use the new queue manager and port; for example, using the WAS administrative console to change the properties of the WebSphere MQ queue connection factory, as described in Configure a queue connection factory for the WebSphere MQ messaging provider.

  3. Rerun the application.


Error occurs when you use WebSphere MQ as an external JMS provider

When you use WebSphere MQ as an external JMS provider, and you send a message to a WebSphere MQ queue within a user-managed transaction, the message can arrive on the destination queue before the transaction commits. This problem occurs when the WebSphere MQ resource manager is not enlisted in the user-managed transaction.

To resolve this problem, use a container-managed transaction.


javax.jms.JMSException: MQJMS3024: unable to start MDB listener

This error can occur if you use an uninitialized client ID (that is, a client ID that is not associated with a durable subscription). To resolve this problem, set the client ID in one of the following three ways:


The WebSphere MQ messaging provider channel framework messages appear during server startup

The following message might be displayed several times in the control region adjunct process during server startup, even though the connection succeeds on subsequent retries. This message is issued because of the asynchronous way in which the z/OS TCP proxy channel starts and does not indicate that any error has occurred.

Trace: 2009/06/17 08:24:41.434 01 t=9C6B58 c=UNK key=P8 (00000011)
Description: Log Java Message  Message: CHFW0030E: Error starting chain _InboundTCPProxyBridgeService because  of exception com.ibm.wsspi.channel.framework.exception.RetryableChannelException:  An exception was thrown when attempting to start the TCPProxyChannel  com.ibm.ws.channel.framework.imp l.ChannelFrameworkImpl
These messages might be accompanied by First Failure Data Capture (FFDC) output similar to the following example:
Exception = com.ibm.wsspi.channel.framework.exception.RetryableChannelException
Source = com.ibm.ws.channel.framework.impl.ChannelFrameworkImpl.startChainInternal
probeid = 2577
Stack Dump = com.ibm.wsspi.channel.framework.exception.RetryableChannelException:  An exception was thrown when attempting to start the TCPProxyChannel
        at com.ibm.ws.tcpchannelproxy.jfap.impl.TCPProxyInboundChannel.
start(TCPProxyInboundChannel.java:153)
        at com.ibm.ws.channel.framework.impl.ChannelFrameworkImpl.
startChannelInChain(ChannelFrameworkImpl.java:1410)
        at com.ibm.ws.channel.framework.impl.ChannelFrameworkImpl.
startChainInternal(ChannelFrameworkImpl.java:2863)
        at com.ibm.ws.channel.framework.impl.WSChannelFrameworkImpl.
startChainInternal(WSChannelFrameworkImpl.java:960)
        at com.ibm.ws.channel.framework.impl.ChannelFrameworkImpl.
startChainInternal(ChannelFrameworkImpl.java:2794)
        at com.ibm.ws.channel.framework.impl.ChannelFrameworkImpl.
startChain(ChannelFrameworkImpl.java:2779)
        at com.ibm.ws.runtime.component.ChannelFrameworkServiceImpl.
startChain(ChannelFrameworkServiceImpl.java:666)
        at com.ibm.ws.sib.jfapchannel.framework.impl.ChannelFrameworkReference$TCPProxy
BridgeServiceInboundChainStartupRunnable.run(ChannelFrameworkReference.java:1641)
        at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1550)
Caused by: com.ibm.ws.tcpchannelproxy.jfap.NotYetInitializedException:  Server is not yet initialized
        at com.ibm.ws.tcpchannelproxy.jfap.TCPProxyBridgeServicesImpl.
startListening(TCPProxyBridgeServicesImpl.java:558)
        at com.ibm.ws.tcpchannelproxy.jfap.impl.TCPProxyInboundChannel.
start(TCPProxyInboundChannel.java:131)
        ... 8 more 

Eventually the following message should be displayed indicating that the z/OS TCP proxy channel has started up correctly:

Trace: 2009/06/17 08:24:51.449 01 t=9C6B58 c=UNK key=P8 (13007002)
   ThreadId: 00000003
   FunctionName: com.ibm.ws.channel.framework.impl.WSChannelFrameworkImpl
   SourceId: com.ibm.ws.channel.framework.impl.WSChannelFrameworkImpl
   Category: AUDIT
   ExtendedMessage: BBOO0222I: CHFW0019I: The Transport Channel Service has started  chain _InboundTCPProxyBridgeService.


Subtopics


Related tasks

  • Troubleshooting message-driven beans
  • Troubleshooting performance monitoring statistics
  • WebSphere MQ messaging provider topic connection factory settings
  • Use High Performance Extensible Logging to troubleshoot applications
  • Troubleshooting service integration technologies

  • Application deployment troubleshooting tips
  • Messaging resources for this application
  • Application resources for this destination
    WebSphere MQ library
  • Default messaging provider: Troubleshooting tips Reference topic