The most common run-time error condition is a connection failure. The beginSession procedure, which creates the connection to the Progress OpenEdge JMS Adapter and the JMS server, reports connection failures synchronously by calling:

RETURN ERROR <error-message>. 

The error can result from a failure to connect either to the Progress OpenEdge JMS Adapter or to the JMS server. If the connection to the JMS server fails, the format of the error message is:

<java-exception>:<error-message>.

A communication failure that occurs after a successful connection might be detected:

  • Synchronously (for example, when the application is trying to publish a message)
  • Asynchronously through the error handler

It might take several minutes for the timeout mechanism to trigger a communication failure event.

If you are using SonicMQ as a JMS provider, you can detect potential communication failures more quickly using the setPingInterval procedure (a SonicMQ extension) to instruct the Progress OpenEdge JMS Adapter to actively ping the SonicMQ Broker every n seconds.