This document provides an overview of messaging approaches in Java, specifically focusing on JMS and AMQP. It discusses the motivations for messaging, common messaging patterns like point-to-point and publish-subscribe, and compares RPC approaches. The document then dives into details of the JMS API and architecture, common implementations like ActiveMQ, and how Spring supports JMS. It also covers the AMQP protocol and model, implementations like RabbitMQ, and how Spring supports AMQP. Key books on these topics are recommended.