Apache ActiveMQ User Guide &version; James Strachan Brian McCallister Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. Introduction Apache ActiveMQ is the most popular and powerful open source Message Broker available today. Its hosted at Apache and is distributed under the Apache Software License (2.0). ActiveMQ supports different cross language clients from many different languages such as Java, C# / .Net, C, C++, Ruby, Python, Perl, PHP together with different protocols like OpenWire, Stomp, REST, Ajax/Cometd, XMPP. ActiveMQ also provides a whole raft of powerful features like Message Groups, Exclusive Queues, Master/Slave, Networks of Brokers and so forth.
Architecture Like most Message Orientated Middleware (MOM) providers ActiveMQ is based on the idea of one or more Message Brokers running on the network which act as a message router and optional persistence store, then Clients connect to one or more Message Broker.
Installing Apache ActiveMQ The first thing you need to do is install Apache ActiveMQ from a binary distribution. Running a Broker The most typical deployment of Apache ActiveMQ is for brokers to be run on the network as a stand alone processes then messaging clients connect to one or more brokers. So we will describe how to go about running brokers, then in the next chapter we will describe how to connect to a broker from a client. Using the Java Client Apache ActiveMQ fully supports the JMS 1.1 and J2EE 1.4 specifications so feel free to follow any documentation you have on JMS or J2EE for more background.