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 and view the source code, design documents, or content of the product. The open source model is a decentrali ...
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. Mes ...
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 or a type of data store based on the use of a database management system (DBMS), the software that interacts with end users, applications, and the database itself to capture and a ...
as a JMS
persistence
Persistence or Persist may refer to:
Math and computers
* Image persistence, in LCD monitors
* Persistence (computer science), the characteristic of data that outlives the execution of the program that created it
* Persistence of a number, a ma ...
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 ver ...
,
cache
Cache, caching, or caché may refer to:
Science and technology
* Cache (computing), a technique used in computer storage for easier data access
* Cache (biology) or hoarding, a food storing behavior of animals
* Cache (archaeology), artifacts p ...
, 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 personal secretive thoughts and as open book to personal therapy or used to feel connected to onesel ...
persistency.
There's another broker under the ActiveMQ umbrella code-named ''Artemis''.
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 ...
in 2007, where the founders continued to develop the codebase with the extended Apache community.
Artemis
Artemis is another broker under the ActiveMQ umbrella 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.
Artemis is a multi-protocol, embeddable, high performance, clustered, asynchronous messaging system.
Technical features
ActiveMQ Classic
uses 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. ActiveMQ supports a horizontal scaling mechanism called a Network of Brokers
out of the box. ActiveMQ supports a number of transport protocols, including
OpenWire,
STOMP,
MQTT,
AMQP,
REST
REST (Representational State Transfer) is a software architectural style that was created to describe the design and guide the development of the architecture for the World Wide Web. REST defines a set of constraints for how the architecture of ...
, 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 (SOA). It represents a software architecture for distributed computing, and is a special vari ...
implementations such as Apache ServiceMix
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 ...
.
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 the now defunct host CodeHaus in 2006. These two ...
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
The Standard Performance Evaluation Corporation (SPEC) is a non-profit consortium that establishes and maintains standardized benchmarks and performance evaluation tools for new generations of computing systems. SPEC was founded in 1988 and i ...
and accepted for publication. The results cover different topologies to analyze the scalability of Apache ActiveMQ in two dimensions.
Commercial support
Apache is used in enterprise software and offers limited ActiveMQ support on a voluntary basis. Users that need more extensive support may need to consult commercial companies specializing in ActiveMQ.
See also
*
Amazon Simple Queue Service
Amazon Simple Queue Service (Amazon SQS) is a distributed message queuing service introduced by Amazon.com as a beta in late 2004, and generally available in mid 2006.
API
Amazon provides SDKs in several programming languages, including:
* C ...
*
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 service for sending messages.
Amazon SNS acts as a single message bus that can message to a variety o ...
*''
Enterprise Integration Patterns
''Enterprise Integration Patterns'' is a book by Gregor Hohpe and Bobby Woolf which describes 65 patterns for the use of enterprise application integration and message-oriented middleware in the form of a pattern language.
The integration (mess ...
''
*
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 archi ...
*
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 (systems architecture), service offerings. Before even ...
*
Message-oriented middleware
Message-oriented middleware (MOM) is software or hardware infrastructure supporting sending and receiving messages between distributed systems. Message-oriented middleware is in contrast to streaming-oriented middleware where data is communicate ...
*
Service-oriented architecture
In software engineering, service-oriented architecture (SOA) is an architectural style that focuses on discrete services instead of a monolithic design. SOA is a good choice for system integration. By consequence, it is also applied in the field ...
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