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 program module that translates a message from the formal messaging protocol of the sender to the formal messaging protocol of the receiver. Mess ...
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
A computer cluster is a set of computers that work together so that they can be viewed as a single system. Unlike grid computers, computer clusters have each node set to perform the same task, controlled and scheduled by software.
The compo ...
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 sp ...
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 l ...
,
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 County ...
, 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
HornetQ is an open-source asynchronous messaging project from JBoss. It is an example of Message-oriented middleware. HornetQ is an open source project to build a multi-protocol, embeddable, very high performance, clustered, asynchronous messaging ...
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 A ...
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
Stomp may refer to:
*Stomp (strike), a downwards kick using the heel
Music and dance
* ''Stomp'' (album), by Big D and the Kids Table, 2013
* Stomp (jazz), a type of rhythmic jazz tune popular in the 1920s
*Stomp (theatrical show), a percussive p ...
,
MQTT
MQTT (originally an initialism of MQ Telemetry Transport) is a lightweight, publish-subscribe, machine to machine network protocol for Message queue/Message queuing service. It is designed for connections with remote locations that have devices ...
,
AMQP
The Advanced Message Queuing Protocol (AMQP) is an open standard application layer protocol for message-oriented middleware. The defining features of AMQP are message orientation, queuing, routing (including point-to-point and publish-and-su ...
,
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 enter ...
, and
WebSockets
WebSocket is a computer communications protocol, providing full-duplex communication channels over a single TCP connection. The WebSocket protocol was standardized by the IETF as in 2011. The current API specification allowing web applications ...
.
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 (SOA). It represents a software architecture for distributed computing, and is a special varia ...
implementations such as
Apache ServiceMix
Apache ServiceMix is an open-source software project to implement a distributed enterprise service bus (ESB).
Architecture
ServiceMix is based on the service-oriented architecture (SOA) model. It is a project of the Apache Software Foundation ...
and
Mule
The mule is a domestic equine hybrid between a donkey and a horse. It is the offspring of a male donkey (a jack) and a female horse (a mare). The horse and the donkey are different species, with different numbers of chromosomes; of the two pos ...
.
Other projects using ActiveMQ include
Apache Camel 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 XFire developed by a team hosted at Codehaus in 2006. These two projects were combin ...
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), an explicit set of requirements to be satisfied by a material, product, or service
**datasheet, or "spec sheet"
People
* Spec Harkness (1887-1952), American professional baseball pitcher
...
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 most often refers to:
* Amazons, a tribe of female warriors in Greek mythology
* Amazon rainforest, a rainforest covering most of the Amazon basin
* Amazon River, in South America
* Amazon (company), an American multinational technolog ...
*
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 th ...
*''
Enterprise Integration Patterns
''Enterprise Integration Patterns'' is a book by Gregor Hohpe and Bobby Woolf and describes 65 patterns for the use of enterprise application integration and message-oriented middleware in the form of a pattern language.
The integration (messa ...
''
*
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 loosely coupled arch ...
*
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 ...
*
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 provide ...
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