Contents

A Dynamo Message Service can be made to work with a third party JMS provider. The administrator must declare the provider in the Patch Bay Configuration and must configure the appropriate message sources and sinks to use the Destinations in that provider. Additionally, the client libraries for the JMS Provider need to be in the CLASSPATH of the Dynamo. This can be done by adding the fmq-rtl.jar path to startDynamo.bat, which is the startup script for ATG. The fmq-rtl.jar file can be found in the %FMQ_DIR%\lib directory of the installation package.

Configuring the Dynamo Message System

General Architecture

The Patch Bay is a component of the Dynamo Message System that connects messaging components to the JMS Providers. These connections are all defined in the DMS Configuration file, which is an XML file. The Patch Bay is represented in the Nucleus as the component/atg/dynamo/messaging/MessagingManager. The configuration file is generally found at /atg/dynamo/messaging/dynamoMessaging-System.xml. One of the functions of the DMS configuration file is to name all the message sources and sinks existing in the system. Any number of sources and sinks can be specified, and in any order. If there are multiple dynamoMessaging- System.xml files spread across the CONFIGPATH entries, the sources and sinks from all those files are registered. The Patch Bay defines a simple life cycle for message sources and sinks. When the Patch Bay is started, it resolves all the Nucleus names. If the referenced components have not been created, they are created at this time. At this point message sinks must be prepared to receive messages, which can arrive at any time. In some cases message Sources follow a different protocol. After a message source is resolved in the Nucleus, the Patch Bay calls MessageSource.setMessageSourceContext on the component. This provides the component with a context object that can be used to create and send messages. At this point the Patch Bay initializes the various JMS Providers and makes sure that the messaging infrastructure is up and running. It then scans each of the message sources and calls the MessageSource.startMessageSource on each one of them. Message source can start sending messages after this call.

Creating Messaging Sources and Sinks

A Message source must implement atg.dms.patchbay. The MessageSource interface and a message sink must implement the atg.dms.patchbay. Sample implementation is available at demomessage.zip. There is an attached readme.htm file which contains instructions on running this application. This application uses the localJMS which is a messaging system provided by Dynamo.
To register the application as a Nucleus Component, follow the steps below:

  1. Navigate to %DYNAMO_HOME%\bin.
  2. Enter startDynamo - m demomessage (start Dynamo.bat is a batch file used to start ATG). This starts the server and registers demomessage as a Nucleus component, while the localJMS (FioranoMQ in this case) remains its messaging backbone.

To configure the system to use FioranoMQ for messaging follow the steps below:

  1. Write a simple class that implements the interface atg.dms.patchbay.JMSInitialContextFactory, which defines a single method createInitialContext. FioranoImpl.class is an implementation of this simple class. This class should be placed in %DYNAMO_home%\locallib, which, by default, is available in the startup classpath. If the package is custom-made, add the absolute path to startDynamo.bat, located in %DYNAMO_home%\bin.
  2. Register this class as a Nucleus Component. To register either an ATG Control Center can be used or a simple properties file may be used and saved in the directory %DYNAMO_home%\localconfig. If this file is located elsewhere, the CONFIGPATH in postEnvironment.bat must be changed. FioranoImpl.properties is a sample of the aforementioned file. This file can be saved in the specified directory. The name of this file has to match the name of the class file in which the interface atg.dms.patchbay.JMSInitialContextFactory is implemented.
  3. Replace the dynamoMessagingSystem.xml, located in demomessage\config\ atg\dynamo\messaging with the one that is available.

The description of the integration here is based, in part, on the work of Stuart Jones.

Adaptavist ThemeBuilder EngineAtlassian Confluence