几个名词
- Java消息服务(Java Message Service)是一个Java标准,定义了使用消息代理的通用API。
- 消息代理(message broker):类似于邮局的作用,确保消息被投递到指定的目的地。
- ActiveMQ
- Kafka
- 目的地(destination)
- 队列(queue,点对点模型):消息可以有多个接收者,但每一条消息只能被一个接收者取走。
- 主题(topic,点对线模型):订阅此主题的订阅者都会接收到此消息的副本。
异步消息相较于同步消息的优点
- 时间:异步消息不需要等待服务端的返回,只需发送消息即可。
- 地点:不依赖于服务端的网络位置。
- 解耦:不需要了解服务端的服务接口。
- 安全:即使消息发送时,服务端无法正常运行服务,消息也会被存储起来,直到服务重新可以使用为止。
Spring对JMS的支持,包括JmsTemplate和消息驱动POJO
- JmsTemplate作用:消除冗长和重复的JMS代码,可以创建连接、获得会话以及发送和接收消息,使开发者专注于构建要发送的消息或处理接收到的消息,捕获抛出的JMSException异常的子类检查型异常,并重新抛出对应JMSException异常的子类非检查型异常。
- 消息驱动bean(message-driven bean,MDB):不必主动查看队列或主题中是否有消息(返回或超时),被动等待消息到达的通知,解决同步消息在消息可用前的阻塞问题。
时间: 2024-11-09 00:48:38