JORAM - Specification

JORAM: Java (TM) Open Reliable Asynchronous Messaging


JORAM is an open source Java implementation of JMS (Java Message Service) API specification.

JORAM is a mature project started in 1999, it is released under the LGPL license since May 2000.
It provides a production ready distributed MOM already used within many critical operational applications.


JORAM incorporates a 100% pure Java implementation of JMS (Java Message Service API released by Sun Microsystem, Inc.). It provides access to a MOM (Message Oriented Middleware), built on top of the ScalAgent D.T. agents based distributed platform.

JORAM is an open source software released under the LGPL license.


Since version 5.22, JORAM is no longer compatible with versions prior to 11 of Java. Joram is now compatible with Java version 11 to 21, and tested with the corresponding LTS versions (11, 17 and 21).

JORAM provides full support to JMS 1.1, JMS 2.0 and Jakarta/JMS 3.0:

  • Unified interfaces for the Point-to-Point (PTP) and Publish/Subscribe (Pub/Sub) messaging models
  • AND still the semantically specific PTP and Pub/Sub interfaces
  • Full backward compatibility with JMS 1.0.2b compliant applications
  • Local, TCP, SSL and SOAP (HTTP/XML) client-server communication protocols
  • Message persistence and guarantee of delivery
  • Hierarchical topics
  • Message selection
  • Message prioritization
  • A JCA Resource Adapter

JORAM also includes the following extra-features:

  • A persistent, reliable and distributed JNDI server
  • A configurable dead message queue
  • Load balancing through clustered topics and queues
  • Monitoring methods
  • A bridge feature allowing to link JORAM to any JMS compliant messaging platform
  • kJoram: a client libraries allowing J2ME applications to access the JORAM platform in a JMS 1.1 "way"
  • Xoram: a client libraries allowing C or C++ applications to access the JORAM platform in a JMS 1.1 "way"
  • An implementation of the current specification of AMQP
  • High Availability provides the active replication of Joram servers and underlying agent servers, as well as replicated JORAM clients. It transparently handles network handover and server failover. This version currently relies on the use of JGroups.
  • Dynamic Configuration provides facilities to remotely add and remove Joram servers dynamically through the Administration API of JORAM. This great feature, combined with updated JMX implementation, initiates a new set of management facilities in JORAM.

JORAM now includes Rest API:

  • A generic JMS 2.0 Rest API plugin.
  • An administration Rest API plugin.
  • A generic JMX monitoring Rest API plugin.

For a complete list please refer to the features description or documentation.

Getting Involved

Any input or personal view for improving and/or developing JORAM is welcome. JORAM, as an open source project, also welcomes external contributions. Interested? Contact us or check the developer's corner.

Statistics by Ohloh

Copyright © 1999-2018, OW2 Consortium | Contact | Webmaster | Last modified at 2024-06-05 11:29 AM