spring boot框架学习12-spring boot整合active mq方法1

本章节主要内容:

主要从以下几个方面讲解:

mybatis和spring boot整合、redis(单机版)和spring boot整合、redis(集群)和spring boot整合、httpclient和spring boot整合、rabbitMQ/active MQ和spring boot整合。

欢迎访问凯哥个人博客网站:www.kaigejava.com

欢迎关注凯哥公众号:凯哥Java(kaigejava)

接下来我们学习第二小节:spring boot整合redis开启缓存

fwAY59CsR6jzoW96cE9nUA9s8sIhGKwiYDKqz9Y9i5JwE1512701797458.png

 

本节主要内容:

 

1:spring boot整合active mq方案一

方案一是简单的,生产者和消费者都在同一个应用项目中。

一:active mq相关

1:active mq下载:

 

XvdwvflVqiqfYgvGDZTtBbLutg03rym7O8TWClOGx9O0=1512701797458.png

 

2:启动

 

CqDEtL=96yp7cW2FZ4jO2fCfsJ96lf976IS3rS0YxtQ5z1512701797458.png

 

在bin文件夹下有64和32位找到自己系统响应的文件夹打开。凯哥使用的是64位的

 

0N9aRNpbxJmnzD19eLbUZxyg1iVTVaDKZ5z1cs1Q7zpjS1512701797458.png

 

双击activemq.bat批处理就启动了。

启动如下图:

 

IWi2Q=CLpSDQOGZgIf=Lcx0lEthB9VG7fvh5HGIMDIVp=1512701797458.png

 

二:spring boot中应用active mq

2.1:在pom.xml文件中添加mq相关的依赖。

 

ywnR5v3uSb0HgJmRp3v8gyUT0COJEyEtsIl4FOk2PQoJU1512701797458.png

 

<!-- actionMQ相关的 start -->

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-activemq</artifactId>

</dependency>

<!-- 如果此处设置为true,需要加如下的依赖包,否则会自动配置失败,报JmsMessagingTemplate注入失败 -->

<dependency>

<groupId>org.apache.activemq</groupId>

<artifactId>activemq-pool</artifactId>

<!-- <version>5.7.0</version> -->

</dependency>

<!-- actionMQ相关的 end -->

2.2:MQ配置类

 

5jhlVrIEmJ1WTC5iHRyrd2Tespv0xyiMC5cv3XSm4N79n1512701797458.png

 

注:必须使用@Configuration 或者是spring 其他注解。这样该类才可以被spring管理。

setBrokerURL是添加url的

 

完整代码如下:

package com.kaigejava.springconfig.mq;

import org.apache.activemq.ActiveMQConnectionFactory;

import org.apache.activemq.pool.PooledConnectionFactory;

import org.springframework.context.annotation.Bean;

import org.springframework.context.annotation.Configuration;

import org.springframework.jms.connection.SingleConnectionFactory;

import org.springframework.jms.core.JmsTemplate;

@Configuration

public class ActiveMQConfig {

 

@Bean

public ActiveMQConnectionFactory targetConnectionFactory(){

ActiveMQConnectionFactory targetConnectionFactory = new ActiveMQConnectionFactory();

targetConnectionFactory.setBrokerURL("tcp://localhost:61616");

return targetConnectionFactory;

}

 

 

 

@Bean

public SingleConnectionFactory connectionFactory( PooledConnectionFactory targetConnectionFactory){

SingleConnectionFactory connectionFactory = new SingleConnectionFactory();

connectionFactory.setTargetConnectionFactory(targetConnectionFactory);

return connectionFactory;

}

@Bean

public PooledConnectionFactory pooledConnectionFactory(ActiveMQConnectionFactory targetConnectionFactory){

PooledConnectionFactory pooledConnectionFactory = new PooledConnectionFactory();

pooledConnectionFactory.setConnectionFactory(targetConnectionFactory);

pooledConnectionFactory.setMaxConnections(10);

return pooledConnectionFactory;

}

 

@Bean

public JmsTemplate jmsTemplate(SingleConnectionFactory connectionFactory){

JmsTemplate jmsTemplate = new JmsTemplate();

jmsTemplate.setConnectionFactory(connectionFactory);

return jmsTemplate;

}

}

 

 

2.3:生产者配置:

 

t78KVsU2MSUKvMtxUFk8HoK10LWp9GTualXAUGhCBlQbA1512701797460.png

 

这里记录日志时候使用的MQ生产者。

 

/**

*

* @ClassName: Producer

* @Description: 后台通过MQ记录日志的生成者

* @author 凯哥Java

*

*

*/

@Service("adminLogProducer")  

public class AdminLogProducer {  

   @Autowired // 也可以注入JmsTemplate,JmsMessagingTemplate对JmsTemplate进行了封装  

   private JmsMessagingTemplate jmsTemplate;  

   // 发送消息,destination是发送到的队列,message是待发送的消息  

   public void sendMessage(Destination destination, final String message){  

       jmsTemplate.convertAndSend(destination, message);  

   }  

}  

2.4:消费者:消费者进行消费处理。

 

Pw4OfHbXQGH16NrHQ78YIuWVGW4MnNphw5pJa3rv9If2N1512701797460.png

 

2.5:在service层使用:

 

6o=1By=TOM7IwjShG18CIsJK6A7b3s=ABPlyMUTucnLkQ1512701797460.png

 

HB1Pv92cp=z=sQO0hMx7O1ttLbuqE3gusYxORvpB5IjYX1512701797460.png

 

使用步骤:

2.5.1:注入mq生产者

2.5.2:准备准备发射的数据

2.5.3:创建一个目标并指定消费者

Destination destination = new ActiveMQQueue("adminLogConsumerQuenue.loggingClassName");

2.5.4:调用生产者的方法进行发送

adminLogProducer.sendMessage(destination,sendmsg);

2.6:生产者发送类:

 

Ngs68MH7yApIVw9vLqIix82ddSzfyOfVW83wOX=3ZCZR=1512701797460.png

 

至此spring boot整合active MQ方案一完成。

 

本系列教程其他文章:

spring boot框架学习学前掌握之重要注解(1)-sprng的java配置方式

 

spring boot框架学习学前掌握之重要注解(2)-通过java的配置方式进行配置spring.

 

boot框架学习学前掌握之重要注解(3)-通过注解方式读取外部资源配置文件

 

spring boot框架学习学前掌握之重要注解(4)-通过注解方式读取外部资源配置文件2

 

boot框架学习1-认识spring boot和快速入门

 

spring boot框架学习2-spring boot核心(1)

 

spring boot框架学习3-spring boot核心(2)

 

spring boot框架学习4-spring boot核心(3)

 

spring boot框架学习5-spring boot的web开发(1)

 

spring boot框架学习6-spring boot的web开发(2)

 

spring boot框架学习7-spring boot的web开发(3)-自定义消息转换器

 

spring boot框架学习8-【干货】spring boot的web开发(4)-自定义拦截器处理权限

 

spring boot框架学习9-spring boot的web开发(5)-错误解决及跳转页面

 

spring boot框架学习10-spring boot持久化数据

 

spring boot框架学习11-spring boot整合redis

转载于:https://my.oschina.net/kaigejava/blog/1929353

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值