Red Hat Training

A Red Hat training course is available for JBoss Enterprise SOA Platform

Chapter 24. Performance Tuning

24.1. Performance Tuning

Performance tuning is the process of fine-tuning and improving your system's performance. This may be through configuring the settings to process more data or enacting load-bearing capabilities for faster performance.

24.2. Tune the JBoss Enterprise SOA Platform for High Performance

Procedure 24.1. Task

24.3. Registry Performance

In order to improve performance and reliability of your registry, Red Hat recommends that you replicate or federate it. In this way, you will prevent it being a single point of failure.

24.4. JMS Message Prioritization

JMS message prioritization is a feature that allows you to dictate which messages have priority when being processed by the enterprise service bus. Configure the priority on the gateway. It will then be passed onto the ESB services which are subsequently invoked. You should set a priority for any JMS transports which are used to communicate with ESB services.
The message flow priority is passed through ESB invocations into the invoked services as part of the message context. However it is not present within the message while the service is being executed. Rather, the priority will be held within a thread local context so that it can be propagated through any subsequent invocations of the ServiceInvoker.

24.5. Configure the Priority of JMS Messages

Procedure 24.2. Task

  1. Open the gateway's configuration file in a text editor.
  2. Add the following code to either the listener, bus or provider area of the file:
            <property name="messageFlowPriority" value="X"/>
    The value of x can be a number from 0 to 9 inclusive, where 0 is the lowest priority and 9 is the highest.
  3. Save the file and exit.

24.6. Gateways on Which Prioritization Can be Set

You can set JMS message prioritization on the following gateways:
  • Scheduled (including file and so forth)
  • Groovy
  • JMS (If this transport is invoked through the JMS Courier, then the priority will also be used to configure the MessageProducer.)
  • SQL
  • JCA inflow
  • Camel
  • Hibernate
  • Http
  • JBoss Remoting
  • UDP
  • EBWS (For EBWS the property must be specified within the configuration file's "service" element.)

24.7. Dynamic Configuration of the MessageAwareListener Thread Pool

The number of message threads in the MessageAwareListener thread pool changes dynamically. This means that the minimum and maximum number of threads alter as needed. This functionality is exposed through the service M-Bean.