blob: 1967687c84b7853b5b43621a2544523fb9cabda3 [file] [log] [blame]
h2. 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
h3. ActiveMQ Supports
h4. 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
h4. Several Protocols
* AMQP
* OpenWire
* REST
* RSS and Atom
* Stomp
* WSIF
* WS Notification
* XMPP
h3. 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.
h3. 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.
h3. 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.