Book Image

HornetQ Messaging Developer's Guide

By : Piero Giacomelli
Book Image

HornetQ Messaging Developer's Guide

By: Piero Giacomelli

Overview of this book

<p>Messages and information can be exchanged at exponential speed with JBoss HornetQ asynchronous messaging middleware. Learn how to use the JAVA open source Message Oriented Framework, to build a high-performance, multi-protocol, embeddable, clustered system and manage millions of messages per second.<br /><br />In the HornetQ Messaging Developer’s Guide you will find the most common applications of a message exchanger with example code, as part of real-world scenarios. This practical and applicable guide increases reader knowledge chapter by chapter, covering basics to the most advanced features.<br /><br />You will start from a clean installation of a HornetQ sever and, having progressively become a HornetQ master, will finish by being able to use the framework embedded in your software and sharing information in a cluster environment.<br /><br />Starting from writing and reading a single message, we will discover more advanced features like managing queues, clustering the server, and controlling the undelivered messages. The book deals with a real-world advanced medical scenario as the main example that will lead you from learning the basics to the advanced features of HornetQ.</p>
Table of Contents (18 chapters)
HornetQ Messaging Developer's Guide
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Chapter 8. Controlling Message Flow

In Chapter 4, Monitoring HornetQ, we learnt how to manage the messages in a queue so that we could control their state and behaviour using JMS and Core APIs. This approach is useless in cases where we would like to monitor a HornetQ instance that is under pressure because of too many messages.

This could happen due to various reasons; as we have seen in Chapter 7, Divert and Filter Messages, it is possible to deliver messages to another queue without changing the producer layer. Using the same scenario, when a device has some fault or it raises an alarm, the alarm is diverted to another queue on a different HornetQ instance.

In such cases, if we have multiple alarms it is possible that the queue that stores the alarms starts growing fast so as to cause an out-of-memory exception.

Using the many features that HornetQ provides, it is possible to control the flow of data in the following two ways:

  • Client to server side: This means that it is possible to control...