JMeter: configure and post JMS messages to Weblogic Server

Really quick to accomplish this, once you got it figured out :-)

You're going to use 2 libraries from Weblogic Server, wljmsclient.jar and wlthint3client.jar. Locate them inside your machine, and copy them to the folder "lib" inside your JMeter installation - to me, it's /opt/jmeter-2.4/lib/:

$ locate wljmsclient.jar


# The libs are together, so there's no need to run "locate" a 2nd time
$ cp /oracle/osb-11g/wlserver_10.3/server/lib/wljmsclient.jar /opt/jmeter-2.4/lib/
$ cp /oracle/osb-11g/wlserver_10.3/server/lib/wlthint3client.jar /opt/jmeter-2.4/lib/

If you're not familiar with the locate command, and are absolutely sure you have a Weblogic Server installed, you may need to update the search indexes - just run "sudo updatedb" and execute the locate command again, this time it will find the file.

Now, just fire up JMeter. Yeah, don't have to tamper with any configuration or script files. It's done.

This is how I configure a typical script to test JMS throughput, in order to have a specific number of requests per minute:

JMeter test hierarchy

  • Test Plan: created by JMeter, nothing to configure here.

  • Thread Group: set the number of threads you think your machine can run, and set loop to "Forever" (don't worry about it).

  • Throughput Controller: set to "Total Executions", and enter the number of messages you want to generate at "Throughput".

  • Constant Throughput Timer: enter the number of messages you want to send by minute at "Target throughput", and set the algorithm to "all active threads in current thread group".

  • JMS Enqueue Message: the image below says it all - adjust the values to reflect your environment, and use the same value for "Initial Context Factory".

    JMS Enqueue Configuration

  • View Results Tree: I like to use this one to check if everything is running as expected - here you can check server's return, and correct the script in case of error.

  • Aggregate Report and/or Graph Results: once you confirm that the message is reaching the queue, you can disable "View Results Tree" and enable one or both of these, to have more synthetic data.

Since we're just putting messages into a queue here (no waiting time), after a minute or so you will see linear performance at the graphs, depending on the configuration (number of threads, ramp up time, etc.). The Constant Throughput Timer takes a while to show the expected numbers, so don't worry, eventually it will reach the defined parameters ;-)

Environment: JMeter 2.4, Weblogic Server 10.3.4.

Posted by Fabio Mazanatti at Jul 07, 2011 - 17:20

The author does not allow comments to this entry