Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This troubleshooting guide helps you resolve common problems encountered in JMS integration scenarios with WSO2 ESB.

...

WSO2 ESB comes with geronimo-jms library, which contains the javax.jms packages. Therefore, you do not have to deploy them again.  

Back to Top ^

...

HTTP

...

header conversion

When forwarding HTTP traffic to a JMS queue using WSO2 ESB, you might get an error similar to the one given below.  

...

Code Block
languagehtml/xml
<property action="remove" name="Content-Length" scope="transport">
<property action="remove" name="Accept-Encoding" scope="transport">
<property action="remove" name="User-Agent" scope="transport">
<property action="remove" name="Content-Type" scope="transport"> 

Back to Top ^

...

JMS

...

property data type mismatch

 When the ESB attempts to forward a message over JMS, there are instances that the client libraries throw an exception saying the data type of a particular message property is invalid.
 
This problem occurs when the developer uses the property mediator to manipulate property values set on the message. Certain implementations of JMS have data type restrictions on properties. But the property mediator always sets property values as strings.

...

Code Block
languagehtml/xml
<property name="foo" value="12345" type="INTEGER" scope="transport/"> 

Back to Top ^

...

Too-

...

many-

...

threads and

...

out-of-

...

memory issues

With some JMS brokers, WSO2 ESB tends to spawn new worker threads indefinitely until it runs out of memory and crashes. This problem is caused by a bug in the underlying Axis2 engine. A simple workaround to this problem is to engage the property mediator of the mediation sequence as follows:  

...

<address uri="jms:/myTopic?transport.jms.ConnectionFactoryJNDIName=TopicConnectionFactory&amp;java.naming.factory.initial=org.wso2.andes.jndi.PropertiesFileInitialContextFactory&amp;topic.myTopic=my::topic&amp;java.naming.provider.url=repository/conf/jndi.properties&amp;transport.jms.DestinationType=topic"/>

...