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

Controlling the producer side


In the previous section we have seen how it is possible to limit the Windows buffer size and the maximum rate of the messages consumed within a queue, at least using the JMS specification.

But considering that the clients are the ones that send messages, it is possible that they can potentially block the consumer by sending too many messages. HornetQ provides some parameters from the producer's side so that it is possible to manage the number of messages sent to the queues.

HornetQ offers the same possibilities that we have seen from the consumer layer to the producer layer.

In our example, all the medical messages sent to the ECGQueue in general are not of a fixed size. HornetQ offers the possibility to set the maximum size of memory, so as to limit the maximum size of the messages, sent from any producer to the specific queue, to a fixed value.

In this case, when the threshold value is reached, the producer receives a block on their side waiting for the memory...