The prerequisites for this content assume that you have configured a JMS provider server and it is ready for use, and the Progress OpenEdge JMS Adapter is installed.

Ensure that you have access to binaries that are required for the JMS provider, and then follow these steps to configure your JMS provider to work with the Progress OpenEdge JMS Adapter:

  1. Add the JMS provider client JAR files to the classpath in the %DLC%\properties\JavaTools.properties file under the [SonicMQ] property section, as in the following examples:
    [SonicMQ]
    classpath=C:\JMS\IBM\WEBSPHERE\java\lib\com.ibm.mqjms.jar,${DLC}/java/progress.jar
    [SonicMQ]
    classpath=C:\JMS\ArtemisMQ\apache-artemis-2.11.0-bin\apache-artemis-2.11.0\lib\client\artemis-jms-client-all-2.11.0.jar,${DLC}/java/progress.jar
    Note: SonicMQ client JAR files are not shipped with OpenEdge 12.2. If you are using SonicMQ as a JMS provider, you must also add them to the classpath. The default is $DLC/sonic/MQ10.0/lib/sonic_client.jar. For example:
    [SonicMQ]
    classpath=$DLC/sonic/MQ10.0/lib/sonic_client.jar,${DLC}/java/progress.jar
    If there is more than one jar file, provide the paths as comma separated values.
  2. Update the jvmargs and DjmsProvider properties in the %DLC%\properties\JavaTools.properties file in the [SonicMQ] property section to specify your JMS provider.
    If you are using SonicMQ as a JMS provider, add the following entry to the [SonicMQ] property section below the classpath:
    jvmargs=-DsonicMQExtensions=true -DjmsProvider=SonicMQ
    This provides access to the SonicMQ proprietary APIs.
    If you are configuring another third-party JMS provider, add the following entry to the [SonicMQ] property section below the classpath:
    jvmargs=-DsonicMQExtensions=false -DjmsProvider=ProviderName
    Where ProviderName is the name of your JMS provider, such as WebSphereMQ or ArtemisMQ. The ProviderName must match the JMS provider specified in the jmsProvider.properties file. Third-party JMS providers outside of SonicMQ can use JMS Administered Objects to access the provider-specific proprietary APIs.
  3. Specify the JMS Provider and define the Connection Factory in the %DLC%\properties\jmsProvider.properties file. There are several third-party JMS providers that are pre-defined that provide Connection Factory class names. If your JMS provider is not listed, then add it to the list with the following format:
    [MyJMSProvider]
    javax.jms.ConnectionFactory=
    javax.jms.QueueConnectionFactory=
    javax.jms.TopicConnectionFactory=
    Note:
    • Do not modify the javax.jms.* property names. The property values for these property names must be specific to the JMS provider.
    • The JMS Adapter does not support jakarta.jms.* class names.
  4. If you require an update to your JDK version or Java Path, you can update the file location that you specified in the Progress OpenEdge JMS Adapter installation using the %DLC%\properties\JMSAdapterJava.properties file.