WebSphere Commerce EnterpriseWebSphere Commerce Professional

Troubleshooting: Error message displayed when using IBM Gift Center

After enabling IBM Gift Center, the default value of "EnableMQMessagesOnUpdate" is set to true. This condition causes an exception to be thrown in the SystemOut.log file. This exception does not affect the normal functionality of the Gift Center.

Problem

After you enable the Gift Center, the following exception might be displayed:
J2CA0046E: Method createManagedConnectionWithMCWrapper caught an exception during creation of the ManagedConnection for resource eis/JCAJMS, throwing ResourceAllocationException. 
Original exception: 
<=================================>
Exception Message -> 
Messaging system cannot look up QueueConnectionFactory JMSQueueConnectionFactory in the naming context.
com.ibm.commerce.messaging.adapters.jca.exception.WcIllegalArgumentException: Messaging system cannot look up QueueConnectionFactory JMSQueueConnectionFactory in the naming context.
	at com.ibm.commerce.messaging.adapters.jcajms.JCAJMSManagedConnectionFactory.createManagedConnection
           (JCAJMSManagedConnectionFactory.java:176)
	at com.ibm.ejs.j2c.FreePool.createManagedConnectionWithMCWrapper(FreePool.java:1939)
	at com.ibm.ejs.j2c.FreePool.createOrWaitForConnection(FreePool.java:1619)
	at com.ibm.ejs.j2c.PoolManager.reserve(PoolManager.java:2440)
	at com.ibm.ejs.j2c.ConnectionManager.allocateMCWrapper(ConnectionManager.java:1032)
	at com.ibm.ejs.j2c.ConnectionManager.allocateConnection(ConnectionManager.java:686)
	at com.ibm.commerce.messaging.adapters.jcajms.JCAJMSConnectionFactory.getConnection(JCAJMSConnectionFactory.java:136)
	at com.ibm.commerce.messaging.objects.JMSMessageBean.sendImmediate(JMSMessageBean.java:236)
	at com.ibm.commerce.messaging.objects.EJSRemoteStatelessJMSMessage_d6d5624d.sendImmediate(EJSRemoteStatelessJMSMessage_d6d5624d.java:71)
	at com.ibm.commerce.messaging.objects._JMSMessage_Stub.sendImmediate(_JMSMessage_Stub.java:283)
	at com.ibm.commerce.messaging.objects.JMSMessageAccessBean.sendImmediate(JMSMessageAccessBean.java:137)
	at com.ibm.commerce.messaging.outboundservice.Messaging.sendImmediate(Messaging.java:4177)
	at com.ibm.commerce.messaging.outboundservice.SendTransactedMsgCmdImpl.assembleMsg(SendTransactedMsgCmdImpl.java:489)
	at com.ibm.commerce.messaging.outboundservice.SendTransactedMsgCmdImpl.performExecute(SendTransactedMsgCmdImpl.java:700)

By default, IBM Gift Center uses WebSphere MQ messages and configures WebSphere MQ for the store. Therefore, the preceding exception is thrown to indicate that WebSphere MQ is not installed while using the IBM Gift Center.

Solution

If you do not want to use the WebSphere MQ messages, perform the following steps:
  1. Disable the WebSphere MQ messages in the <WC_profile>\installedApps\WC_instanceName_cell\WC_instanceName.ear\xml\config\wc-server.xml file as shown:
    <GiftRegistry display="false">
          <MQMessages EnableMQMessagesOnUpdate="false"/>
          <EmailMessages EnableGiftRegistryCreateSuccessEmail="true"/>
          <ServiceInterface 
               jndiName="ejb/com/ibm/commerce/component/giftregistry/objects/GiftRegistryServiceHome"/>
    </GiftRegistry>
  2. Restart the server.