五、 ActiveMQ 消息队列的使用 1. ActiveMQ 的作用分析 ActiveMQ 工作原理后 1、 解决服务之间耦合 2、 使用消息队列,增加系统并发处理量 ActiveMQ 应用场景分析 1、 用户注册,重点用户信息数据库保存,发短信、发邮件,增加业务处理复杂度,这时候使用 MQ, 将发短信、发邮箱,通知 MQ,由另外服务平台完成 2、 搜索平台、缓存平台 查询数据,建立缓存、索引 ,不从数据库查询,从缓存或者索引库查询 当增加、修改、删除数据时,发送消息给 MQ, 缓存平台、索引平台 从 MQ 获取到这个信息,更新缓存或者索引 2. ActiveMQ 安装和使用 下载 windows 版本 ActiveMQ 使用的是标准生产者和消费者模型 有两种数据结构 Queue、Topic 1、 Queue 队列 ,生产者生产了一个消息,只能由一个消费者进行消费 2、 Topic 话题,生产者生产了一个消息,可以由多个消费者进行消费 3. 使用 Java 程序操作 ActiveMQ 1、 开发 activeMQ 只需要导入 activemq-all-5.14.0.jar 使用 maven 坐标导入 2、 编写 MQ 消息生产者 默认 tcp 连接 activeMQ 端口 61616 !!! 3、 编写 MQ 消费者代码 a) 使用 MessageConsumer 完成消费 查看控制台,发现信息已经被消费 b) 使用监听器,监听消息的内容,进行消费 4. 结合 spring 完成 ActiveMQ 编程 1、 在 activeMQ_spring 导入相关 jar 包 Spring 开发测试 ActiveMQ Spring 整合 activeMQ 2、 编写配置生产者 配置 activemq 连接工厂 配置 spring mq 管理工厂 配置 jmsTemplate 模板 完成代码
测试用例 3、 编写消费者代码 配置只扫描 consumer 包 配置 listener 监听器,在 applicationContext-mq-consumer.xml 测试代码 效果: 注意: Topic 有有效期,过了有效期后,订阅消费者无法再获取到 topic 信息
|