Feedback
Did this article resolve your question/issue?

   

Article

How to stagger an OpenEdge Client migration from SonicMQ to another JMS Provider?

Information

 
TitleHow to stagger an OpenEdge Client migration from SonicMQ to another JMS Provider?
URL NameHow-to-stagger-an-OpenEdge-Client-migration-from-SonicMQ-to-another-JMS-Provider
Article Number000183593
EnvironmentProduct: OpenEdge
Version: 11.5.1, 11.6.x, 11.7.x
OS: All supported versions
Other: Generic JMS Adapter, Adapter for SonicMQ
Question/Problem Description
How to stagger an OpenEdge Client migration from SonicMQ to another JMS Provider using the Generic JMS Adapter?
How to communicate to multiple JMS Providers from a single OE client installation?

 
Steps to Reproduce
Clarifying Information
In OpenEdge 11.5.1, the Generic JMS Adapter was introduced. Essentially, the Adapter for SonicMQ was opened up to support other JMS providers like ActiveMQ and WebSphereMQ. Configuration of the Generic JMS Adapter uses the same property files and instances as the Adapter for SonicMQ. Article 000054543, Does Progress provide a generic JMS adapter? provides more details on the Generic JMS Adapter.

The Generic JMS Adapter can only be configured to communicate with one JMS Provider at a time. While Multiple provider connection factories can be configured in the <DLC>/properties/jmsProvider.properties, only one of these can be set with the jvmarg -DjmsProvider in the <DLC>/properties/AdminServerPlugins.properties file under the [PluginPolicy.Progress.SonicMQ] section. The following documentation link provides information on configuring and administering the Generic JMS Adapter.

The inability to configure the Adapter with multiple JMS providers presents a limitation for customers that wish to stagger the migration from SonicMQ to another JMS Provider. For example, there may be multiple messaging processes that cannot all be switched over to the new JMS Provider at the same time.
Error Message
Defect/Enhancement Number
Cause
Resolution
Use the Generic JMS Adapter BrokerConnect connection mode from another OpenEdge installation. When connecting with the BrokerConnect connection mode, -H is specified in the connection string, allowing for remote connections. 

Clients from the original installation will not be able to communicate over the ClientConnect or ServerConnect connection modes as those are local to the installation. Article 000012293, What are the different methods to connect to SonicMQ from OpenEdge ? provides more details on the connection modes available to the SonicMQ/Generic JMS Adapter.

Depending on the Operating System, there are multiple possibilities:

Unix:

Multiple OE installations of the same version can exist on Unix, so the same version could be installed in a different directory. However, this could require starting the Adminserver, nameserver, and BrokerConnect instance on different ports than the original installation. See Article 000014110, How To Configure Multiple Versions of AdminServer To Be Run Concurrently since OpenEdge 10.1B for details on running multiple versions of the AdminServer on one machine

Windows:

Windows has the limitation of only allowing one installation of the same OpenEdge version on the same machine. Either install the same version on another machine or install a different version on the same machine.

For example, if the current installation in 11.6:
  1. Install 11.6 on a secondary machine, configure this to use the Generic JMS Adapter BrokerConnect connection mode and connect to this from the messaging clients on the the original installation.
OR
  1. Install 11.7 on the same machine as 11.6. 11.6 clients can communicate with an 11.7 Generic JMS Adapter BrokerConnect instance.
Workaround


 
Notes
Last Modified Date4/27/2017 8:19 PM
Attachment 
Files
Disclaimer The origins of the information on this site may be internal or external to Progress Software Corporation (“Progress”). Progress Software Corporation makes all reasonable efforts to verify this information. However, the information provided is for your information only. Progress Software Corporation makes no explicit or implied claims to the validity of this information.

Any sample code provided on this site is not supported under any Progress support program or service. The sample code is provided on an "AS IS" basis. Progress makes no warranties, express or implied, and disclaims all implied warranties including, without limitation, the implied warranties of merchantability or of fitness for a particular purpose. The entire risk arising out of the use or performance of the sample code is borne by the user. In no event shall Progress, its employees, or anyone else involved in the creation, production, or delivery of the code be liable for any damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, or other pecuniary loss) arising out of the use of or inability to use the sample code, even if Progress has been advised of the possibility of such damages.