Introducing ActiveMQ

Apache ActiveMQ is the most popular and powerful open source messaging and Integration Patterns provider.
Apache ActiveMQ is fast, supports many Cross Language Clients and Protocols
and many advanced features while fully supporting JMS 1.1 and J2EE 1.4. Apache ActiveMQ is released under the Apache 2.0 License

ActiveMQ Supports

Easy communication via Cross Language Clients

  • ActiveMQ C++ Clients

  • Ajax

  • C Integration

  • CMS

  • Delphi and FreePascal

  • dot Net

  • Perl

  • PHP

  • Pike

  • Python

  • Ruby

  • WebSockets

  • JMS to JMS Bridge

Several Protocols

  • AMQP

  • OpenWire

  • REST

  • RSS and Atom

  • Stomp

  • WSIF

  • WS Notification

  • XMPP

Using ActiveMQ from ServiceMix

To start using ActiveMQ from your code, simply get a hold of the connection pool declared in the activemq-broker.xml file.
If you want to use ActiveMQ as a JBI component, configure servicemix-jms. You can also utilize ActiveMQ from Camel via the
camel-jms component.

When should I use ActiveMQ?

Whenever you have a unit of work or payload that you could process asynchronously, you would like to have multiple recipients,
concurrent competing recipients to scale or leverage multiple processing units. If you want to spread load across multiple
system boundaries. You want to cluster or provide fail over and messaging security, you have long running flows.

In any of these instances it would be strongly suggested you evaluate what a scalable and secure messaging solution can bring to the table.

Common use cases

Integration with other systems, since you can pass messages in and out of ActiveMQ from pretty much any programming language
it is very simple to start integrating heterogeneous environments.

Providing an event driven architecture. You can develop your solutions based on actions as opposed to looking for data or
relying on completely synchronous behaviour.

Providing infrastructure for messaging across large distances, leverage the network connectors and broker networks to integrate
for example geographically different data centres.