![]()
Instant Apache ActiveMQ Messaging Application Development How-to
![]()
Instant Apache ActiveMQ Messaging Application Development How-to
Copyright Ā© 2013 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
First published: May 2013
Production Reference: 1170513
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham B3 2PB, UK.
ISBN 978-1-78216-941-3
www.packtpub.com
![]()
Author
Timothy Bish
Reviewers
Rob Davies
Christian Posta
Acquisition Editors
Andrew Duckworth
Rubal Kaur
Commissioning Editor
Yogesh Dalvi
Technical Editors
Rutvij Karkhanis
Pushpak Poddar
Varun Pius Rodrigues
Copy Editors
Brandt D'Mello
Laxmi Subramanian
Project Coordinator
Esha Thakker
Proofreader
Kevin McGowan
Graphics
Abhinash Sahu
Production Coordinator
Nitesh Thakur
Cover Work
Nitesh Thakur
Cover image
Aditi Gajjar
![]()
Timothy Bish is a senior software engineer currently working for RedHat Inc. He currently works out of his home in Alexandria, VA, actively contributing to the ActiveMQ Project. Timothy started his work in the open source world as a side project while working for a company in Syracuse NY. What started as something fun turned into a full time career and remains a passion for Timothy.
Timothy started his career in software development in 1999 and has worked for several years in the private sector before moving into full time open source development. During that time Timothy earned his Masters of Computer Engineering from Syracuse University. Having worked on a number of home grown Messaging frameworks Timothy has seen firsthand how the world of open source software like ActiveMQ has transformed the development world.
Besides working on new development projects Timothy also enjoys reading, skiing, scuba diving, and traveling to new and exotic places.
![]()
Rob Davies is the technical director for Fuse Engineering at Red Hat. Previously, Rob was the CTO of FuseSourceāthe experts in open source integration and messaging. With 20 years experience of architecting solutions and developing products for large-scale distributed applications for telcos and finance, Rob is focusing on developing the next generation of open source middleware products for Red Hat.
Rob's first experience in startups was WatchMark, which span out of US-West and Cable and Wireless. Subsequently, Rob co-founded SpiritSoft, where he was initially CEO, then CTO, and helped raise $20 million in venture capital. SpiritSoft, specialising in middleware products for finance, was acquired by Seebeyond in 2005. Rob went on to co-found LogicBlaze, a Los Angeles based startup that created open source integration and messaging middleware, and which was sold to IONA Technologies in 2007.
Rob was the co-founder and contributor to Apache ActiveMQ, ServiceMix, and Camel.
Christian Posta, based in Phoenix, AZ, is a senior consultant and architect and specializes in messaging-based enterprise integrations. He has been developing for over 10 years doing a wide range of stuff from embedded systems to UI and UX design and lots of integration in between. He's passionate about software development, loves solving tough technical problems, and enjoys learning new languages and programming paradigms. His favorite languages include Python and Scala, but he spends a lot of time writing Java. He is a committer on Apache ActiveMQ and Apache Apollo projects and frequently blogs at http://www.christianposta.com/blog as well as tweeting about interesting technology @christianposta.
![]()
Support files, eBooks, discount offers and more
You might want to visit www.PacktPub.com for support files and downloads related to your book.
Did you know that Packt offers eBook versions of every book published, with PDF and ePub files available? You can upgrade to the eBook version at
www.PacktPub.com and as a print book customer, you are entitled to a discount on the eBook copy. Get in touch with us at
<[email protected]> for more details.
At www.PacktPub.com, you can also read a collection of free technical articles, sign up for a range of free newsletters and receive exclusive discounts and offers on Packt books and eBooks.
http://PacktLib.PacktPub.com
Do you need instant solutions to your IT questions? PacktLib is Packt's online digital book library. Here, you can access, read and search across Packt's entire library of books.
- Fully searchable across every book published by Packt
- Copy and paste, print and bookmark content
- On demand and accessible via web browser
Free Access for Packt account holders
If you have an account with Packt at www.PacktPub.com, you can use this to access PacktLib today and view nine entirely free books. Simply use your login credentials for immediate access.
![]()
The problem of transferring data from one application to another one is not new. Ever since the advent of computer networks, developers have had to create solutions for this problem, which have evolved into their own engineering domaināEnterprise Messaging. The applications that operate in this domain have come to be known as message-oriented middleware (MOM).
In the early days, MOM solutions were closed-source applications that relied on proprietary protocols and had no standardized API for developers to use. This led to software that was locked into the MOM provider that was originally chosen, and switching to an alternative MOM provider was a difficult if not insurmountable process.
ActiveMQ is an open source MOM application used around the world in enterprise and academic projects. ActiveMQ provides a wealth of features and can be accessed from clients written in languages such as Java, C, C++, .NET, and Python.
Because of the vast array of features that ActiveMQ supports, getting started with developing applications for it can be quite daunting. In this book we will learn how to get started with writing applications that leverage ActiveMQ. We will start out with the basics of writing JMS-based applications and then learn how to leverage some of ActiveMQ's more advanced features to supercharge our applications.
Installing ActiveMQ (Simple) provides a brief walkthrough of the steps necessary to download and install Apache ActiveMQ v5.8.0 and get it running.
Setting up our development environment (Simple) has a brief look at the steps necessary to set up an environment for building and running the examples in this book.
Creating ActiveMQ applications (Simple) shows how to create a simple ActiveMQ application that can send and receive a message. We cover all the steps needed to write the code, build, and run the application.
Dividing up work with queues (Simple) explores how to spread out the work of processing jobs using JMS queues. We examine the properties of a JMS queue and learn how to leverage them to balance the load among many queue consumers.
Event processing with topics (Simple) explores JMS topics and how the properties of the publish/subscribe destinations allow us to send even...