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 written in Java together with a full
Java Message Service
The Jakarta Messaging API (formerly Java Message Service or JMS API) is a Java application programming interface (API) for message-oriented middleware. It provides generic messaging models, able to handle the producer–consumer problem, that can ...
(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 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 design of databases spa ...
as a JMS
persistence provider besides
virtual memory
In computing, virtual memory, or virtual storage is a memory management technique that provides an "idealized abstraction of the storage resources that are actually available on a given machine" which "creates the illusion to users of a very ...
,
cache, 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 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 for distributed systems offering a hierarchical ...
. 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,
AMQP,
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 ente ...
, and
WebSockets.
Usage
ActiveMQ is used in
enterprise service bus implementations such as
Apache ServiceMix and
Mule.
Other projects using ActiveMQ include
Apache Camel and
Apache CXF 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 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
Amazon Simple Notification Service (Amazon SNS) is a notification service provided as part of Amazon Web Services since 2010. It provides a low-cost infrastructure for the mass delivery of messages.
Amazon SNS acts as a single message bus t ...
*''
Enterprise Integration Patterns''
*
Enterprise messaging system
*
Event-driven SOA Event-driven SOA is a form of service-oriented architecture (SOA), combining the intelligence and proactiveness of event-driven architecture with the organizational capabilities found in service offerings. Before event-driven SOA, the typical SOA pl ...
*
Message-oriented middleware
Message-oriented middleware (MOM) is software or hardware infrastructure supporting sending and receiving messages between distributed systems. MOM allows application modules to be distributed over heterogeneous platforms and reduces the complex ...
*
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