Optimizing Spring Messaging

In the previous chapter, we learned different advanced ways of accessing databases using object-relational mapping (ORM) frameworks such as Hibernate. We also learned how to improve database access in an optimal way when using ORM. We looked into Spring Data to remove boilerplate code for implementing the Data Access Object (DAO) interface. At the end of the chapter, we saw the Hibernate best practices.

In this chapter, we will learn about Spring's support for messaging. Messaging is a very powerful technique that helps to scale the applications and also encourages us to decouple the architecture.

Spring Framework provides an extensive support to integrate the messaging system into our application with the simplified use of the Java Message Service (JMS) API to receive messages asynchronously. Messaging solutions can be used to send messages from one point in an application to a known point, and one point from an application to many other unknown points. It is equivalent to sharing something face to face and sharing something on a loudspeaker to a group of people, respectively. If we want messages to be sent to an unknown set of clients, then we can use a queue to broadcast the messages to the people who are listening.

The following are the topics that we will cover in this chapter:

  • What is messaging?
  • What is AMQP?
  • Why do we need AMQP?
  • RabbitMQ
  • Spring messaging configuration
..................Content has been hidden....................

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