Inside Fusion Middleware 12c: Increasing Scalability with JMS Adapter 12c by Stefan Koser


clip_image002JMS Adapter (also known as Oracle JCA Adapter for JMS) is a component available with Oracle SOA Suite or Oracle Service Bus (OSB) which provides a very powerful way to use  the Java Messaging Service (JMS) for sending or receiving messages.

The most important goals for optimizing an SOA Suite or OSB environment are to make sure that

  • Each node of the cluster makes effective use of Java threads and other resources.
  • The cluster will be able to scale efficiently when adding new nodes.

In this article, we will show how JMS Adapter in the new release 12c can be configured in high throughput scenarios to use much fewer threads that in earlier versions. This means, that adding new nodes to the cluster will not require additional threads in all other nodes. As a result, a cluster with many nodes will perform and scale much better.

There are 2 main use cases of JMS Adapter with SOA Suite or OSB:

  • Inbound activation of a composite by receiving messages from a JMS destination (queue or topic)
  • Publishing messages from a composite to a JMS destination

We will focus in this article on the first use case for receiving messages. Only in that scenario – for listening to a queue, the activation framework of the Java EE Connector Architecture (JCA) layer will start a number of threads for JMS Adapter.

First, we will describe how many threads will be created by default or in versions prior to 12c, and then how this changes when using the new feature available with 12c.

Default thread creation for JMS Adapter

For the first example, we will assume a scenario with a 2-node SOA cluster where a Uniform Distributed Queue (UDQ) “jms/TestQueue” is defined and one SOA composite with an inbound JMS Adapter is listening to this queue. See line 2 of the JMS destination overview in Weblogic server in the following table:

With the default behavior, the number of threads used to read messages from this queue in each Java Virtual Machine (JVM) is one. This is derived from the default of the corresponding configuration parameter: Read the complete article here.

SOA & BPM Partner Community

For regular information on Oracle SOA Suite become a member in the SOA & BPM Partner Community for registration please visit (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn image[7][2][2][2] Facebook clip_image002[8][4][2][2][2] Wiki