本章節主要內容:
主要從以下幾個方面講解:
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開啟緩存
本節主要內容:
1:spring boot整合active mq方案一
方案一是簡單的,生產者和消費者都在同一個應用項目中。
一:active mq相關
1:active mq下載:
2:啟動
在bin文件夾下有64和32位找到自己系統響應的文件夾打開。凱哥使用的是64位的
雙擊activemq.bat批處理就啟動了。
啟動如下圖:
二:spring boot中應用active mq
2.1:在pom.xml文件中添加mq相關的依賴。
org.springframework.boot
spring-boot-starter-activemq
org.apache.activemq
activemq-pool
2.2:MQ配置類
注:必須使用@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:生產者配置:
這里記錄日志時候使用的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:消費者:消費者進行消費處理。
2.5:在service層使用:
使用步驟:
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:生產者發送類:
至此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