Configure the JMS provider using oemessaging to enable interactive administration of the Progress OpenEdge JMS Adapter.
Note: This configuration applies to both ClientConnect and BrokerConnect modes.
Prerequisites
  • The JMS provider server is configured and available.

  • The Progress OpenEdge JMS Adapter is installed.

  • The required JMS provider client binaries (JAR files) are available.

To configure your JMS provider to work with the Progress OpenEdge JMS Adapter when using oemessaging, complete the following steps:

  1. Open the %DLC%\properties\JavaTools.properties file.
  2. Add the JMS provider client JAR files to the classpath 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. If you are using SonicMQ as a JMS provider, you must also add them to the classpath. The default is $DLC/sonic/MQ14.0/lib/sonic_client.jar. For example:
    [SonicMQ]
    classpath=$DLC/sonic/MQ14.0/lib/sonic_client.jar,${DLC}/java/progress.jar
    If there is more than one JAR file, provide the paths as comma separated values.
  3. Update the jvmargs and DjmsProvider properties under 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.
  4. Open the %DLC%\properties\jmsProvider.properties file, specify the JMS Provider, and define the connection factory. 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.
  5. If you require an update to your JDK version or Java path, update the file location that you specified in the Progress OpenEdge JMS Adapter installation using the %DLC%\properties\JMSAdapterJava.properties file.