Stomp messaging with Progress

Stomp is a set of Progress 4GL programs (10.2B+) that allows you to connect with JMS systems such as ActiveMQ


The stomp adapter project is released under the terms of the MIT license (

The MIT License is simple and easy to understand and it places almost no restrictions on what you can do with the stomp adapter.

You are free to use the stomp adapter in any other project (even commercial projects) as long as the copyright header is left intact.


  • for 10.2B+ , use the 10.2B+ branch
  • for 11+, use trunk (currently unstable)


the trunk of this project is in an unstable state. If you are wanting the latest stable version, either use the 10.2B+ branch,
or download the zip file from

on the other hand, if you want to live on the bleeding edge, please feel free to download and play with trunk !

please note that trunk will only work with openedge 11+

RabbitMQ installation

ActiveMQ Installation

<transportConnector name="stomp" uri="stomp://"/>
<transportConnector name="stomp+nio" uri="stomp+nio://"/>
<transportConnector name="websocket" uri="ws://"/>

  • if you are running windows, start command prompt, go to <<folder>>\bin\win32, run InstallService.
    • Make sure the ActiveMQ service is running. Installing ActiveMQ as a service means that the server is automatically run when windows restarts. Which, let’s face it, is quite often …
  • please note that the default port for the stomp transport (which is what we are going to use) is 61613.

  • Refer to document “How to setup ActiveMQ as Pure Master Slave.doc” for some basic details on how to configure
ActiveMQ as Master/Slave to test multiple broker connectivity.

Progress Installation

  • extract to a folder of your choice (c:\stomp for example)
  • ensure that c:\stomp is in your propath
  • ensure that a StompConfig.txt is in your propath. This text file consists of a line with “<<server>> <<port>>”.
Alter to suit your configuration.
  • run the following code to send a message (non-persistent)
dotr.Stomp.Helper.SendMessage:ToQueue("MyQueue","a test message").

  • run the following code to send a message (persistent)
dotr.Stomp.Helper.SendMessage:ToPersistentQueue("MyQueue","a test message").


Julian Lyndon-Smith
David McInnes