JMS Manual Configuration

You can configure a direct connection to the JMS provider from ReadyAPI without using any additional intermediaries.

Requirements

To connect to a JMS provider, ReadyAPI needs to load the appropriate client libraries for your JMS broker. There are two ways to get the libraries:

  • Create a JMS connector plugin. The plugin contains all the JMS client libraries and provides with the default values for the connection settings. See Creating the Connector Plugin.

  • Use JMS client libraries that are provided by your JMS broker. To do this:

    1. Copy the .jar files that contain the client libraries for your JMS provider to the <ReadyAPI>\bin\ext folder.

      Here is where you can find the library files for some popular providers:

      Table 14. Library files of the most popular providers.

      Provider

      Action

      Files

      ActiveMQ

      Copy the file from the ActiveMQ installation folder.

      activemq-all-5.X.X.jar

      WebSphere MQ 8 and 9

      Copy the files from the <WebSphere MQ Installation>\java\lib folder.

      com.ibm.mq.allclient.jar

      fscontext.jar

      jms.jar

      providerutil.jar

      WebSphere MQ 7

      Copy the files from the <WebSphere MQ Installation>\java\lib folder.

      CL3Export.jar

      CL3Nonexport.jar

      com.ibm.mq.headers.jar

      com.ibm.mq.jar

      com.ibm.mq.jmqi.jar

      com.ibm.mq.pcf.jar

      com.ibm.mqjms.jar

      dhbcore.jar

      fscontext.jar

      jms.jar

      jndi.jar

      jta.jar

      ldap.jar

      providerutil.jar

      rmm.jar

      WebLogic 12

      (Available in ReadyAPI up to 3.51.0 and VirtServer 3.20.0)

      ReadyAPI continues to support WebLogic 12.x. It had originally been deprecated in 3.3.1.

      • Copy the files from the <WebLogic>\wlserver\server\lib directory.

      • Add --add-opens java.base/java.io=ALL-UNNAMED in the VM options file of ReadyAPI.

      weblogic.jar

      wlthint3client.jar



    2. Restart ReadyAPI to load the libraries.

    Important

    If you use this approach, ReadyAPI cannot identify default values, so you will need to enter them manually.

Adding JMS Server

To use a direct connection to a JMS provider, you must specify a JMS server. You can do this in the JMS dialog or when selecting a JMS endpoint.

When you create a JMS server, ReadyAPI shows the JMS configuration dialog, where you specify the settings of the server. ReadyAPI will use the connector libraries to establish a JMS connection to the specified server.

JMS testing: Adding a JMS server

Option

Description

JMS Provider

The list of preconfigured JMS providers.

Install the JMS Connector plugin for your JMS provider for it to appear on the list.

Initial Context Class

The class that will be used to create an InitialContext object.

If you use the JMS Connector plugin, this value is provided by the plugin and cannot be changed. Otherwise, you need to set up it manually.

Here are context classes for some popular JMS providers:

Apache ActiveMQ

org.apache.activemq.jndi.ActiveMQInitialContextFactory

IBM WebSphere MQ

Depends on how the context class is configured. You get this value from the Initial Context Factory property when you configure WebSphere MQ installation

Oracle Weblogic

weblogic.jndi.WLInitialContextFactory

TIBCO EMS

com.tibco.tibjms.naming.TibjmsInitialContextFactory

For other JMS providers, you can find the initial context class name in the provider documentation.

Provider URL

The URL of the JMS server you use. The JMS Connector plugin sets a default value for the selected provider.

Here are context classes for some popular JMS providers:

Apache ActiveMQ

tcp://<hostname>:61616

IBM WebSphere MQ

Specify the value that you get from the Provider URL property when you configure the WebSphere MQ installation.

Oracle WebLogic

t3://<hostname>:7001

TIBCO EMS

tibjmsnaming://<hostname>:7222

For other JMS providers, you can find the initial context class name in the provider documentation.

Connection Factory JNDI Name

The name of the ConnectionFactory object you use to connect to the JMS broker. For most JMS providers, you can specify the name during the provider setup.

The JMS Connector plugin sets a default value for the selected provider.

Here are context classes for some popular JMS providers:

Apache ActiveMQ

ConnectionFactory

IBM WebSphere MQ

Specify the value, that you specify for the Connection Factory when you configure the WebSphere MQ installation.

For other JMS providers, you can find the initial context class name in the provider documentation.

User Name

The name of the user that is used to authenticate with the JMS broker.

Password

The password of the user who authenticates with the JMS broker.

If you want to dynamically pass the username and password to JMS settings, store them in project properties and use property expansions to pass them: click the ellipsis button next to the User Name or Password field and select the respective project property. The property can be encrypted.

JMS testing: Passing username and password from project properties

Important

For some JMS services (including but not limited to WebLogic, webMethods, and TibcoJMS), you need to also create additional JNDI properties with your username and password:

java.naming.security.principal = <username>
java.naming.security.credentials = <password>

Additional JNDI Properties

Custom JNDI properties you may need depending on the JMS provider you use.

For example, the ActiveMQ JMS broker does not include a fully functional JNDI server, so you need to use the properties to provide JNDI context for your requests. You do this by adding custom properties, such as queue.SampleQueue = SampleQueue for static queues. For more information about working with JNDI in ActiveMQ, see the ActiveMQ documentation.

JMS testing: Destination names

JMS Dialog

The JMS dialog contains a list of JMS servers. You select these servers when specifying an endpoint for the JMS Requests test step or when setting up a JMS virtual service.

JMS testing: List of JMS servers

To open the dialog, click JMS on the main toolbar:

JMS testing: JMS button on the main toolbar

To add, remove or configure JMS servers, use the items of the dialog’s toolbar:

JMS testing: Toolbar of the JMS dialog

See Also

Publication date: