Apache ActiveMQ
   HOME

TheInfoList



OR:

Apache ActiveMQ is an
open source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
message broker A message broker (also known as an integration broker or interface engine) is an intermediary computer Modular programming, program module that translates a message from the formal messaging protocol of the sender to the formal messaging protocol o ...
written in Java together with a full
Java Message Service The Jakarta Messaging API (formerly Java Message Service or JMS API) is a Java (programming language), Java application programming interface (API) for message-oriented middleware. It provides generic messaging models, able to handle the producer†...
(JMS) client. It provides "Enterprise Features" which in this case means fostering the communication from more than one client or server. Supported clients include Java via JMS 1.1 as well as several other "cross language" clients. The communication is managed with features such as computer clustering and ability to use any
database In computing, a database is an organized collection of Data (computing), data stored and accessed electronically. Small databases can be stored on a file system, while large databases are hosted on computer clusters or cloud storage. The Databas ...
as a JMS persistence provider besides
virtual memory In computing, virtual memory, or virtual storage is a Memory management (operating systems), memory management technique that provides an "idealized abstraction of the storage resources that are actually available on a given machine" which "cr ...
,
cache Cache, caching, or caché may refer to: Places United States * Cache, Idaho, an unincorporated community * Cache, Illinois, an unincorporated community * Cache, Oklahoma, a city in Comanche County * Cache, Utah, Cache County, Utah * Cache Co ...
, and
journal A journal, from the Old French ''journal'' (meaning "daily"), may refer to: *Bullet journal, a method of personal organization *Diary, a record of what happened over the course of a day or other period *Daybook, also known as a general journal, a ...
persistency. There's another broker under the ActiveMQ umbrella code-named ''Artemis''. It is based on the HornetQ code-base which was donated from the JBoss community to the Apache ActiveMQ community in 2015. Artemis is the "next generation" broker from ActiveMQ and will ultimately become the next major version of ActiveMQ.


History

The ActiveMQ project was originally created by its founders from LogicBlaze in 2004, as an open source message broker, hosted by CodeHaus. The code and ActiveMQ trademark were donated to the
Apache Software Foundation The Apache Software Foundation (ASF) is an American nonprofit corporation (classified as a 501(c)(3) organization in the United States) to support a number of open source software projects. The ASF was formed from a group of developers of the Ap ...
in 2007, where the founders continued to develop the codebase with the extended Apache community.


Technical features

ActiveMQ employs several modes for high availability, including both file-system and database row-level locking mechanisms, sharing of the persistence store via a shared filesystem, or true replication using
Apache ZooKeeper Apache ZooKeeper is an open-source server for highly reliable distributed coordination of cloud applications. It is a project of the Apache Software Foundation. ZooKeeper is essentially a service (systems architecture), service for distributed co ...
. A horizontal scaling mechanism called a Network of Brokers, is also supported out of the box. ActiveMQ supports a relatively large number of transport protocols, including OpenWire, STOMP,
MQTT MQTT (originally an Acronym, initialism of MQ Telemetry Transport) is a lightweight, Publish–subscribe pattern, publish-subscribe, machine to machine network Communication protocol, protocol for Message queue/Message queuing service. It is desi ...
,
AMQP The Advanced Message Queuing Protocol (AMQP) is an open standard An open standard is a standard that is openly accessible and usable by anyone. It is also a prerequisite to use open license, non-discrimination and extensibility. Typically, any ...
,
REST Rest or REST may refer to: Relief from activity * Sleep ** Bed rest * Kneeling * Lying (position) * Sitting * Squatting position Structural support * Structural support ** Rest (cue sports) ** Armrest ** Headrest ** Footrest Arts and entertain ...
, and WebSockets.


Usage

ActiveMQ is used in
enterprise service bus An enterprise service bus (ESB) implements a communication system between mutually interacting software applications in a service-oriented architecture In software engineering, service-oriented architecture (SOA) is an architectural style that ...
implementations such as Apache ServiceMix and
Mule The mule is a domestic equine hybrid between a donkey The domestic donkey is a hoofed mammal in the family Equidae, the same family as the horse The horse (''Equus ferus caballus'') is a Domestication, domesticated, odd-toed un ...
. Other projects using ActiveMQ include
Apache Camel Apache Camel is an Open-source software, open source Framework-oriented design, framework for message-oriented middleware with a rule-based routing and mediation engine that provides a Plain Old Java Object, Java object-based implementation of th ...
and
Apache CXF Apache CXF is an open source software project developing a Web services framework. It originated as the combination of Celtix developed by IONA Technologies and Codehaus XFire, XFire developed by a team hosted at Codehaus in 2006. These two proje ...
in SOA infrastructure projects.


Benchmark

Coinciding with the release of Apache ActiveMQ 5.3, the world's first results for the SPECjms2007 industry standard benchmark were announced. Four results were submitted to the
SPEC Spec may refer to: *Specification (technical standard) A specification often refers to a set of documented requirements to be satisfied by a material, design, product, or service. A specification is often a type of technical standard. There are ...
and accepted for publication. The results cover different topologies to analyze the scalability of Apache ActiveMQ in two dimensions.


Commercial support

Apache offers limited ActiveMQ support on a volunteer basis. Commercial companies specializing in ActiveMQ are recommended for users needing more extensive support.


See also

* Amazon SQS * Amazon Simple Notification Service *''
Enterprise Integration Patterns ''Enterprise Integration Patterns'' is a book by Gregor Hohpe and Bobby Woolf and describes 65 pattern A pattern is a regularity in the world, in human-made design, or in abstraction, abstract ideas. As such, the elements of a pattern repeat i ...
'' *
Enterprise messaging system An enterprise messaging system (EMS) or messaging system in brief is a set of published enterprise-wide standards that allows organizations to send semantically precise messages between computer systems. EMS systems promote Loose coupling, loose ...
* Event-driven SOA *
Message-oriented middleware Message-oriented middleware (MOM) is software or hardware infrastructure supporting sending and receiving messages between distributed systems. MOM allows modular programming, application modules to be distributed over heterogeneous platforms and ...
*
Service-oriented architecture In software engineering, service-oriented architecture (SOA) is an architectural style that focuses on discrete services instead of a monolithic design. By consequence, it is also applied in the field of software design where services are provided ...


References


Bibliography

* *


External links

*
Official GitHub repository
{{DEFAULTSORT:Apache Activemq ActiveMQ Enterprise application integration Java enterprise platform Message-oriented middleware Service-oriented architecture-related products