Chapter 1. What is Red Hat JBoss A-MQ?

Abstract

Red Hat JBoss A-MQ, based on Apache ActiveMQ, is a standards compliant messaging system that is tailored for use in mission critical applications. It provides unmatched flexibility in the types of applications it can facilitate. It has a small footprint, but also can be configured to handle high-volume reliable message delivery.

Overview

Red Hat JBoss A-MQ, based on Apache ActiveMQ, is a JMS 1.1-compliant messaging system. It consists of a broker and client-side libraries that enable remote communication among distributed client applications. JBoss A-MQ provides numerous connectivity options and can communicate with a wide variety of non-JMS clients through its support of the OpenWire and STOMP wire protocols.

Broker

The broker is the heart of a messaging system. It handles the exchange of messages between messaging clients. It does so by managing the transport connections used for communication with messaging clients, coordinating with other brokers, managing the database for persistent messages, monitoring and managing various components of the messaging system, and so on.

Messaging clients

Client applications send or receive messages. Message producers create and send messages. Message consumers receive and process them. JMS clients use the JMS API to interact with the broker. Non-JMS clients use any of JBoss A-MQ's other client APIs to interact with the broker.

Messages

Messages are the means by which client applications transmit business data and events. Messages can contain either textual or binary payloads. They also contain metadata, which provides additional information about the message. Applications can use the metadata programmatically to modify or fine tune message delivery or administratively to monitor the health of the messaging system. For details, see Section 2.2, “JMS Message Basics”.

Features

Besides providing the features required by the JMS 1.1 specification, JBoss A-MQ provides additional features and enhancements that support the special needs of large, complex enterprise messaging applications, including:
  • centralized configuration for brokers
  • centralized provisioning of networks brokers
  • centralized provisioning of master/slave groups
  • high-speed journalling
  • fail-over capabilities
  • blob messages
  • extensive connectivity options