By default, HCL Commerce configuration provides two inbound
listeners: one serial listener and one parallel listener. To use multiple inbound queues, you
must define multiple inbound listeners for IBM MQ.To add
another listener:
Procedure
Increase the number of threads for serial listeners:
-
Create a backup copy of the instance_name.xml file in
case your changes cause errors.
-
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>
-
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.
- Ensure that you set the ID to a unique number.