Many of our customers often use a different JMS provider in their organisation than the embedded JMS broker shipped with Payara Server, for example IBM MQSeries or ActiveMQ. Doing this often caused problems for our customers because the unconfigured OpenMQ broker could cause start up problems or delays, as well as delays in XA recovery. From Payara Server 4.1.154 onwards we've added functionality to disable the embedded OpenMQ broker. In this blog we'll talk through how to disable OpenMQ across the whole domain.
We've added a new Broker type of DISABLED to the administration. For each base configuration you use in your domain set the configuration type to DISABLED.
JMS Broker to DISABLED
(click to enlarge)
In the image above we are setting the Broker to disabled for the Configuration server-config. You should do this for all of your server configurations.This can also be done using the command line by running;
asadmin set configs.config.server-config.jms-service.type=DISABLED
asadmin set configs.config.default-config.jms-service.type=DISABLED
where the section in bold is the name of your configuration.
Delete the JMS ResourcesOnce you have set the embedded broker to disabled the various JMS resources can be deleted.
First delete the JMS Connection Factory
The OpenMQ broker also has a Resource Adapter (jmsra) deployed which is used to integrate MDBs into JavaEE applications. The resources associated with this resource adapter should also be removed.
This can be done from the command line in one go by running:
delete-connector-connection-pool --cascade jms/__defaultConnectionFactory-Connection-PoolFinally the JMS resource adapter can be deleted by deleting the directory
rm -rf <payara-install-dir>/glassfish/lib/install/applications/jmsrawhere <payara-install-dir> is the root of your Payara installation.
Remove JMS from the consoleAfter all the steps above the JMS broker is disabled in your configuration. If you wish to go further, it is possible to remove the OpenMQ specific JMS sections from the administration console. To do this delete the administration console jms plugin.
rm -rf <payara-install-dir>/glassfish/modules/console-jms-plugin.jar
As you can see from the screenshot above there is now no Java Message Service section in the console.
That's all there is to it! Now the OpenMQ Broker has been disabled within your Payara domain.