Enabling a JMS router for an existing component

You can enable a JMS router for an existing WebSphere Commerce component.

Note: To enable this router by using the following steps, you modify base packages, such as a JAR file, for your WebSphere Commerce instance. Whenever maintenance is applied to your WebSphere Commerce instance, such as fix packs or APARs, you might need to reapply your changes to the base assets to maintain the enablement of your router.

Procedure

  1. Import the existing EJB component into your workspace by importing the following files into WebSphere Commerce Developer:
    • component_name-Server.jar
    • component_nameServicesHTTPInterface.war
    1. If you want to test the changes by using the WebSphere Commerce test server, import the component_name-Server.jar file corresponding to the database type used by WebSphere Commerce Developer.
    2. Otherwise, import the component_name-Server.jar file corresponding to the database type used by your production environment.
  2. Add the component_name-Server.jar file as a module to the WebSphere Commerce EAR.
    Note: Perform this step even though the binary exists. This step replaces the existing binary with your own.
  3. Generate the HTTP/JMS router modules for the component_name-Server.jar project, where:
    1. You must select both HTTP and JMS.
    2. The router project names must be component_nameServicesHTTPInterface and component_nameServicesJMSInterface.
      Note: Do not generate the HTTP router if the default HTTP interface already exists.
    3. The JMS destination type must be a queue.
    4. The MDB deployment mechanism must be JMS activation spec.
    5. The activation spec JNDI name can be any valid JNDI name, as the activation spec is created later.
    6. The JMS router module is automatically added to the WebSphere Commerce EAR.
  4. Create the JMS queues and activation specs.
    Create the following items:
    • The inbound JMS queue and its QCF (queue connection factory).
    • The outbound QCF.
    • The activation spec.
    1. If you are using the default WebSphere Application Server messaging provider, follow the instructions in Creating a JMS server, including the physical queues on the SIBus.
    2. Then, follow the steps in Setting the MQ_INSTALL_ROOT environment variable.
      Note:
      • The JNDI name of the outbound QCF must be jms/WebServicesReplyQCF.
      • You must have a unique activation spec for each JMS router module.
      • Ensure that each component has a unique inbound JMS queue.
  5. Deploy your changes by Deploying the component facade. Ensure that you change the data source JNDI name of the component_name-Server.jar file when the changes are deployed to the runtime environment.