About this Book

ActiveMQ in Action is for software architects, developers, and integrators interested in enterprise message queuing in general and ActiveMQ in particular. This book is designed to serve as part introduction and part reference for both beginners and experienced application developers. It begins with an introduction to ActiveMQ and a high-level overview of JMS, followed by a progressively deeper dive into ActiveMQ as the book advances.

The concepts discussed throughout this book assume that the reader possesses enough knowledge of Java EE to design and develop applications. Though such knowledge is not a strict requirement, it will make it easier to grasp many of the concepts touched upon throughout the chapters. Chapter 9 even discusses using ActiveMQ with languages other than Java, including C++, C#, JavaScript, Perl, PHP, Python, and Ruby.

Roadmap

This book is divided into four parts:

Part 1 provides an introduction to ActiveMQ, a high-level overview of JMS, and a brief discussion of the examples used throughout the book. Chapter 1 introduces ActiveMQ at a high level and discusses why and when to use ActiveMQ. It also demonstrates how to download and install ActiveMQ and how to run the examples that come with ActiveMQ in Action.

Chapter 2 introduces enterprise messaging, message-oriented middleware (MOM) and the JMS specification.

Chapter 3 introduces the examples to be used throughout ActiveMQ in Action.

Part 2 focuses on the three standard components in ActiveMQ including connectivity into the message broker, message persistence, and message broker security.

Chapter 4 covers all the connectivity options for ActiveMQ. It discusses ActiveMQ URIs and all the transport connectors for both client-to-broker and broker-to-broker communications including TCP, NIO, STOMP, failover, SSL, HTTP/S, and much more.

Chapter 5 discusses message persistence in ActiveMQ; how messages are stored for queues and topics, the four styles of message stores available, and message caching.

Chapter 6 introduces and elaborates on security in ActiveMQ. It covers authentication, authorization, and certificate-based security, as well as how to create a custom security plug-in.

The theme of part 3 is using ActiveMQ to build applications using technologies such as the Spring Framework, leading open source application servers, and numerous applications beyond just Java.

Chapter 7 deals with creating Java applications using ActiveMQ. It shows some options for embedding ActiveMQ in Java applications, developing a request/reply application, and writing JMS clients using Spring.

Chapter 8 is all about integrating ActiveMQ with some popular open source application servers including Tomcat, Jetty, Geronimo, and JBoss. It also discusses the client-side JNDI support provided by ActiveMQ.

Chapter 9 discusses messaging with ActiveMQ using languages other than Java including C++, C#, JavaScript, Perl, PHP, Python, and Ruby.

Part 4 discusses advanced features in ActiveMQ such as high availability, scalability, many advanced broker and client features, performance tuning, and administration of ActiveMQ.

Chapter 10 discusses concepts around deploying ActiveMQ for production systems. Topics in this chapter are focused on high availability and scalability.

Chapter 11 presents advanced features provided by ActiveMQ such as wildcards and composite destinations, advisory messages, virtual topics, some info about ActiveMQ plug-ins, and an introduction to message routing with Apache Camel.

Chapter 12 covers advanced ActiveMQ client features including exclusive consumers, message groups, ActiveMQ streams and large objects, the failover transport, and message scheduling.

Chapter 13 deals with ActiveMQ performance tuning. It presents some general tuning techniques covering such topics as persistent versus nonpersistent messages, transactions, embedded brokers, tuning the wire level protocol, tuning the TCP transport, and some optimizations for message producers and message consumers.

Chapter 14 finishes up by discussing the administration and monitoring of ActiveMQ. It shows how to configure ActiveMQ for JMX monitoring and demonstrates this using JConsole. It also discusses and demonstrates the use of advisory messages for monitoring ActiveMQ. There is also coverage of command-line tools, the command agent, use of XMPP, JConsole, and the web console. The discussion then moves on to broker- and client-level logging.

Code Conventions and Downloads

This book contains many code examples in many different programming languages, all of which are presented using a fixed-width font like this to set it apart from the regular text. Many code listings are annotated to point out important items, and the listings are discussed by the surrounding text.

The full source code that is presented in the book is freely available for download from the publisher’s website at http://manning.com/ActiveMQinAction.

Authors’ Note

This book was authored using DocBook XML and was processed using the Docbkx Tools Maven plug-in on Mac OS X. Other items that became part of the book-writing process include MacBook Pros, Google Docs, GMail, Foonz (until it shut down), Free-ConferenceCall.com, barking dogs during conference calls, company acquisitions, lots and lots of music, loud construction next door, sleepless nights, too much work on airplanes, and plain old exhaustion.

Author Online

Purchase of ActiveMQ in Action includes free access to a private web forum run by Manning Publications where you can make comments about the book, ask technical questions, and receive help from the authors and from other users. To access the forum and subscribe to it, point your web browser to www.manning.com/ActiveMQinAction. This page provides information on how to get on the forum once you are registered, what kind of help is available, and the rules of conduct on the forum.

Manning’s commitment to our readers is to provide a venue where a meaningful dialog between individual readers and between readers and the authors can take place. It is not a commitment to any specific amount of participation on the part of the authors, whose contribution to the book’s forum remains voluntary (and unpaid). We suggest you try asking them some challenging questions lest their interest stray!

The Author Online forum and the archives of previous discussions will be accessible from the publisher’s website as long as the book is in print.

About the cover illustration

The figure on the cover of ActiveMQ in Action is taken from a French travel book, Encyclopédie Des Voyages by J. G. De Saint-Sauveur, published in 1796. Travel for pleasure was a relatively new phenomenon at the time and travel guides such as this one were popular, introducing both the tourist as well as the armchair traveler to the inhabitants of other regions of France and abroad.

The diversity of the drawings in the Encyclopédie Des Voyages speaks vividly of the uniqueness and individuality of the world’s towns and provinces just 200 years ago. This was a time when the dress codes of two regions separated by a few dozen miles identified people uniquely as belonging to one or the other. The travel guide brings to life a sense of isolation and distance of that period and of every other historic period except our own hyperkinetic present.

Dress codes have changed since then and the diversity by region, so rich at the time, has faded away. It is now often hard to tell the inhabitant of one continent from another. Perhaps, trying to view it optimistically, we have traded a cultural and visual diversity for a more varied personal life, or a more varied and interesting intellectual and technical life.

We at Manning celebrate the inventiveness, the initiative, and the fun of the computer business with book covers based on the rich diversity of regional life two centuries ago brought back to life by the pictures from this travel guide.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.226.169.94