17.2 使用 JMS 发送消息

Java 消息服务(Java Message Service ,JMS)是一个 Java 标准,定义了使用消息代理的通用 API。在 JMS 出现之前,每个消息代理都有私有的 API,这就使得不同代理之间的消息代码很难通用。但是借助 JMS,所有遵从规范的实现都使用通用的接口,这就类似于 JDBC 为数据库操作提供了通用的接口一样。

Spring 通过基于模板的抽象为 JMS 功能提供了支持,这个模板也就是 JmsTemplate。使用 JmsTemplate,能够非常容易地在消息生产方发送队列和主题消息,在消费消息的那一方,也能够非常容易地接收这些消息。Spring 还提供了消息驱动 POJO 的理念:这是一个简单的 Java 对象,它能够以异步的方式响应队列或主题上到达的消息。

我们将会讨论 Spring 对 JMS 的支持,包括 JmsTemplate 和消息驱动 POJO。但是在发送和接收消息之前,我们首先需要一个消息代理,它能够在消息的生产者和消费者之间传递消息。对 Spring JMS 的探索就从在 Spring 中搭建消息代理开始吧。