Instant Apache ActiveMQ Messaging Application Development How-to - Timothy Bish - E-Book

Instant Apache ActiveMQ Messaging Application Development How-to E-Book

Timothy Bish

0,0
20,39 €

-100%
Sammeln Sie Punkte in unserem Gutscheinprogramm und kaufen Sie E-Books und Hörbücher mit bis zu 100% Rabatt.

Mehr erfahren.
Beschreibung

Apache ActiveMQ is a powerful and popular open source messaging and Integration Patterns server. ActiveMQ is a fully JMS 1.1 compliant Message Broker and supports many advanced features beyond the JMS specification.Instant ActiveMQ Application Development How-to shows you how to get started with the ActiveMQ Message Broker. You will learn how to develop message-based applications using ActiveMQ and the JMS specification.

In this book you will learn all the basic skills you need to start writing Java Messaging applications with a firm grounding in the more advanced features of ActiveMQ, giving you the tools to continue to master application development using ActiveMQ.

Starting by applying the messaging features of the JMS specification to write basic messaging applications, you will develop a basic JMS application using topics and queues to broadcast events as well as perform Request and Response operations over the JMS.

Once you have mastered the simple tasks you will move onto using the advanced features in ActiveMQ to supercharge your messaging applications. You will get to grips with ActiveMQ's scheduler to delay messages. You will also learn how to leverage ActiveMQ's fault-tolerant capabilities to create robust client applications.

Das E-Book können Sie in Legimi-Apps oder einer beliebigen App lesen, die das folgende Format unterstützen:

EPUB
MOBI

Seitenzahl: 95

Veröffentlichungsjahr: 2013

Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



Table of Contents

Instant Apache ActiveMQ Messaging Application Development How-to
Credits
About the Author
About the Reviewer
www.PacktPub.com
Support files, eBooks, discount offers and more
Why Subscribe?
Free Access for Packt account holders
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the example code
Errata
Piracy
Questions
1. Instant Apache ActiveMQ Messaging Application Development How-to
Installing ActiveMQ (Simple)
Getting ready
How to do it...
There's more...
Setting up our development environment (Simple)
Getting ready
How to do it...
How it works...
There's more...
Creating ActiveMQ applications (Simple)
Getting ready
How to do it...
How it works...
There's more...
A brief aside on Connection URIs
Dividing up work with queues (Simple)
Getting ready
How to do it...
How it works...
The job producer
The job consumer
There's more...
Where to learn more about Message Acknowledgement
Event processing with topics (Simple)
Getting ready
How to do it...
How it works...
The stock price producer
The stock price consumer
There's more...
Things to keep in mind when using durable subscriptions
Selecting messages (Simple)
Getting ready
How to do it...
How it works...
What is a JMS selector?
Adding selectors to subscriptions
There's more...
Sparse matching selectors
Using the JMS request/response pattern (Intermediate)
Getting ready
How to do it...
How it works...
The JMS request application
The JMS response application
There's more...
Some things to remember about temporary destinations
Scheduling message delivery (Advanced)
Getting ready
How to do it...
How it works...
There's more...
Activity monitoring in ActiveMQ (Advanced)
Getting ready
How to do it...
How it works...
There's more...
Application testing using embedded brokers (Advanced)
Getting ready
How to do it...
How it works...
There's more...
Where to find more about configuring embedded brokers
Using ActiveMQ connection pools (Advanced)
Getting ready
How to do it...
How it works...
The PooledConnectionFactory class
The PooledConnection class
The PooledSession class
Our connection pooling example
There's more...
More information on configuring the pooling library
Using Virtual Destinations (Advanced)
Getting ready
How to do it...
How it works...
There's more...
Using Failover transport (Advanced)
Getting ready
How to do it...
How it works...
There's more...
Using Failover transport in a broker cluster
Complete Failover transport configuration reference

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

Credits

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

About the Author

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.

I'd like to thank my wife for all her support and encouragement while 
I worked on this book. I'd also like to thank my good friend Nate for 
sending me down a road to what has become a fun and exciting career.

About the Reviewer

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.

Thanks to Timothy and Packt for asking me to review the book. I think it will be very useful for those getting into messaging and ActiveMQ specifically. There's a lot to learn, but this book takes a step-by-step approach to clearly present the road to take for understanding the concepts.

www.PacktPub.com

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. 

Why Subscribe?

Fully searchable across every book published by PacktCopy and paste, print and bookmark contentOn 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.

Preface

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.

What this book covers

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 events to our JMS applications.

Selecting messages (Simple) explores the JMS message selector and how it can be used to instruct ActiveMQ about which messages our consumers are really interested in receiving.

Using the JMS request/response pattern (Intermediate) looks at how we can implement applications that send out requests over JMS queues and wait for responses to our requests.

Scheduling message delivery (Advanced) explores the capability of ActiveMQ to schedule messages for delivery at a later date.

Activity monitoring in ActiveMQ (Advanced) shows us how to listen in on any activity that's occurring on an ActiveMQ broker using its built-in advisory topics.

Application testing using embedded brokers (Advanced) shows us how to leverage ActiveMQ's ability to be embedded into any Java application, to test our messaging applications.

Using ActiveMQ connection pools (Advanced) explores the features of the connection pooling library provided by ActiveMQ to improve the performance of our applications and also looks at why pooling is not always the right answer.

Using Virtual Destinations (Advanced) shows us an advanced feature in ActiveMQ called Virtual Destinations, and how we can use it to overcome the limitations of JMS's durable topic subscriptions.

Using Failover transport (Advanced)