Troubleshooting external client problems
This topic contains notes for diagnosing problems when using the external client for the IBM® Reliable Transport Extension for WebSphere® sMash.
Exceptions received by the client application
If a messaging exception is experienced when client application is using the external client
a javax.jms.JMSException will be thrown.
The text of the javax.jms.JMSException may be useful in diagnosing the problem
but in some cases the linked exception contained within the javax.jms.JMSException
may also be required.
The linked exception can be addressed by calling the getLinkedException()
method of the javax.jms.JMSException.
Some common situations which can be diagnosed from the javax.jms.JMSException
and any linked exception are listed below.
Setting the trust algorithm
When establishing an external client connection to a secured broker instance, it is important to
call WrappedQueueConnectionFactory.setAlgorithm(String algorithm) first. Correct
algorithm strings include "SunX509" for Sun JREs (this is the default value) and "IbmX509" for IBM JREs.
If the algorithm is not set correctly an expection will be thrown when the connection is used.
Example exception:
javax.jms.JMSException: Failed to create a connection for client E1211279066755-1-905065970
to MicroBroker tls://localhost:9091.
at com.ibm.msg.client.mqtt.internal.ProviderConnectionMqttImpl.connectToBroker(...
at com.ibm.msg.client.mqtt.internal.ProviderConnectionMqttImpl.start(...
Example linked exception:
com.ibm.mqttclient.v4.base.MqttNotConnectedException: FMBD3016 JMSTT Module TLSInitiator:
SSL-Initialisation failed. Configured Algorithm is not known.
at com.ibm.mqttclient.v4.internal.base.MqttBaseClientImpl.createConnection(...
...
Other messaging exceptions
An application using the external client may also experience messaging exceptions that
an application using the messaging protocol from within an IBM WebSphere sMash
application. For example, an exception will be thrown if an application attempts to send
an oversized message or a message to a queue that is full.
See the troubleshooting guide for zero.messaging.connection for more information
on diagnosing these javax.jms.JMSException exceptions.