Define multiple threads for serial and parallel listeners

By default, WebSphere Commerce configuration provides two inbound listeners: one serial listener and one parallel listener. To use multiple inbound queues, we must define multiple inbound listeners for IBM MQ. To add another listener:


Procedure

Increase the number of threads for serial listeners:

  1. Create a backup copy of the instance_name.xml file in case our changes cause errors.

  2. Open the instance_name.xml file in a text editor and locate the snippet that defines a default inbound listener:

      <Inbound> 
           <InboundSerialConnector 
             TimeToReconnect="600" 
             default="true" 
             enabled="true" id="1" name="Listener for IBM MQ (JMS Inbound) - Serial"> 
             
           </InboundSerialConnector> 

  3. Add a definition:

      <InboundSerialConnector 
             TimeToReconnect="600" 
             default="true" 
             enabled="true" id="3" name="Listener for IBM MQ (JMS Inbound) - Serial - Custom"> 
             <JNDI 
               JndiName="eis/JCAJMS" display="false"/> 
             <ConnectionSpec 
               ClassName="com.ibm.commerce.messaging.adapters.jcajms.JCAJMSConnectionSpec" default="true"> 
               <EditableProperty 
                 Admin="factory" 
                 display="false" 
                 editable="Yes" 
                 name="setConnectionFactory" value="JMSQueueConnectionFactory"/> 
               <EditableProperty 
                 Admin="inQueue" 
                 display="false" 
                 editable="Yes" 
                 name="setInboundQueue" value="CustomJMSSerialInboundQueue"/> 
               <EditableProperty 
                 Admin="errorQueue" 
                 display="false" 
                 editable="Yes" 
                 name="setErrorQueue" value="JMSErrorQueue"/> 
               <EditableProperty 
                 Admin="outQueue" 
                 display="false" 
                 editable="Yes" 
                 name="setOutboundQueue" value="JMSOutboundQueue"/> 
             </ConnectionSpec> 
             <InteractionSpec 
               ClassName="com.ibm.commerce.messaging.adapters.jcajms.JCAJMSInteractionSpec" default="true"> 
               <EditableProperty 
                 Admin="timeOut" 
                 display="false" 
                 editable="Yes" 
                 name="setTimeOut" value="4"/> 
               <EditableProperty 
                 Admin="mode" 
                 display="false" 
                 editable="Yes" 
                 name="setMode" value="2"/> 
             </InteractionSpec> 
           </InboundSerialConnector>

    Note:

    • Ensure that you substitute the correct JMS object names for the connection factories and queue destinations.

    • Set the ID to a unique number.

Previous topic: Creating IBM MQ messaging provider queue destinations


Related concepts
Application server considerations