All docs This doc

Versions Compared

Key

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

...

Configuring WSO2 ESB JMS transport

Add the following transport receiver to the <ESB_HOME>/repository/conf/axis2/axis2.xml file. 

...

languagexml

...

Info
  • If you use the default configuration of the IBM MQ queue manager, you need to provide username and password client authentication. The username and password that you need to provide here is the username and password that you provide to log on to your operating system.
  • The vender.class.loader.enabled parameter in the above configuration should be added only when you use IBM Websphere MQ as the JMS broker.
  • WSO2 uses some external class loader mechanisms for some external products such as QPID and AMQP due to the limitation of serializing the JMSObject message. However, it is not required to use this mechanism for IBM Websphere MQ. By adding the vender.class.loader.enabled parameter, you can skip the external class loader for IBM Websphere MQ.
  • This property can also be included in a proxy service, REST API, message store, JMS receiver or the Synapse configuration depending on the use case.
  • If you are using Windows Operating Systems (e.g., Windows 10), mention the .bindings file location starting with file:/// format, in the below <transportReceiver'> and <transportSender> configurations in the <ESB_HOME>/repository/conf/axis2/axis2.xml file as follows: <parameter name="java.naming.provider.url"

...

  •  locked="false">file:///G:/jndidirectory</

...

  • parameter> 
  1. Add the following transport receiver to the <ESB_HOME>/repository/conf/axis2/axis2.xml file. 

    Code Block
    languagexml
    <transportReceiver name="jms" class="org.apache.axis2.transport.jms.JMSListener">
      <parameter name="default" locked="false">MyQueueConnectionFactory</parameter>>
        <parameter name="transportjava.naming.jmsfactory.ConnectionFactoryTypeinitial" locked="false">queue<>com.sun.jndi.fscontext.RefFSContextFactory</parameter>
        <parameter name="transportjava.naming.jmsprovider.UserNameurl" locked="false">nandika<>file:/G:/jndidirectory</parameter>
        <parameter name="transport.jms.PasswordConnectionFactoryJNDIName" locked="false">password<>MyQueueConnectionFactory</parameter>
      </parameter>  
      <parameter name="myQueueConnectionFactory1"transport.jms.ConnectionFactoryType" locked="false">queue</parameter>
        <parameter name="transport.jms.UserName" locked="false">nandika</parameter>
        <parameter name="transport.jms.Password" locked="false">password</parameter>
      </parameter>
    
    
      <parameter name="myQueueConnectionFactory1" locked="false">
        <parameter name="java.naming.factory.initial" locked="false">com.sun.jndi.fscontext.RefFSContextFactory</parameter>
        <parameter name="java.naming.provider.url" locked="false">file:/G:/jndidirectory</parameter>
        <parameter name="transport.jms.ConnectionFactoryJNDIName" locked="false">MyQueueConnectionFactory</parameter>
        <parameter name="transport.jms.ConnectionFactoryType" locked="false">queue</parameter>
        <parameter name="transport.jms.UserName" locked="false">nandika</parameter>
        <parameter name="transport.jms.Password" locked="false">password</parameter>
      </parameter>
    </transportReceiver>
  2. Add the following transport sender to the <ESB_HOME>/repository/conf/axis2/axis2.xml file. 

    Code Block
    languagexml
    <transportSender name="jms" class="org.apache.axis2.transport.jms.JMSSender">
      <parameter name="default" locked="false">
        <parameter name="vender.class.loader.enabled">false</parameter>
    	<parameter name="java.naming.factory.initial" locked="false">com.sun.jndi.fscontext.RefFSContextFactory</parameter>
        <parameter name="java.naming.provider.url" locked="false">file:/G:/jndidirectory</parameter>
        <parameter name="transport.jms.ConnectionFactoryJNDIName" locked="false">MyQueueConnectionFactory</parameter>
        <parameter name="transport.jms.ConnectionFactoryType" locked="false">queue</parameter>
        <parameter name="transport.jms.UserName" locked="false">nandika</parameter>
        <parameter name="transport.jms.Password" locked="false">password</parameter>
      </parameter>
    
      <parameter name="myQueueConnectionFactory1" locked="false">
        <parameter name="java.naming.factory.initial" locked="false">com.sun.jndi.fscontext.RefFSContextFactory</parameter>
        <parameter name="java.naming.provider.url" locked="false">file:/G:/jndidirectory</parameter>
        <parameter name="transport.jms.ConnectionFactoryJNDIName" locked="false">MyQueueConnectionFactory</parameter>
        <parameter name="transport.jms.ConnectionFactoryType" locked="false">queue</parameter>
        <parameter name="transport.jms.UserName" locked="false">nandika</parameter>
        <parameter name="transport.jms.Password" locked="false">password</parameter>
      </parameter>
    </transportSender>
    Info
    titleNote

    If you use the default configuration of the IBM MQ queue manager, you need to provide username and password client authentication. The username and password that you need to provide here is the username and password that you provide to log on to your operating system.

    Info

    The vender.class.loader.enabled parameter in the above configuration should be added only when you use IBM Websphere MQ as the JMS broker.

    WSO2 uses some external class loader mechanisms for some external products such as QPID and AMQP due to the limitation of serializing the JMSObject message. However, it is not required to use this mechanism for IBM Websphere MQ. By adding the vender.class.loader.enabled parameter, you can skip the external class loader for IBM Websphere MQ.

    This property can also be included in a proxy service, REST API, message store, JMS receiver or the Synapse configuration depending on the use case.

Copying IBM Websphere MQ libraries

...