將zookeeper curator與springboot專案進行整合(重點)
第一步:用java類進行配置
package com.lpy;
import org.apache.curator.RetryPolicy;
import org.apache.curator.framework.CuratorFramework;
import org.apache.curator.framework.CuratorFrameworkFactory;
import org.apache.curator.retry.ExponentialBackoffRetry;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
//需要springboot去掃描, springboot是通過java類來進行配置的
@Component
public class ZookeeperCuratorClient {
//zookeeper客戶端
private CuratorFramework client =null;
//日誌(中介軟體的工具類都需要新增日誌)
final static Logger log=LoggerFactory.getLogger(ZookeeperCuratorClient.class);
public static final String ZOOKEEPER_SERVER="192.168.4.245:2181";
public void init() {
if(client!=null) {
return;
}
//第一步:建立重試策略
RetryPolicy retryPolicy=new ExponentialBackoffRetry(1000,5);
//第二步:建立zookeeper客戶端
client=CuratorFrameworkFactory.builder().connectString(ZOOKEEPER_SERVER)
.sessionTimeoutMs(10000)
.retryPolicy(retryPolicy)
.namespace("admin").build();
//第三步:啟動客戶端
client.start();
//測試
try {
String testNodeData = new String(client.getData().forPath("/bgm/..."));
log.info("測試的節點資料為:{}",testNodeData);
} catch (Exception e) {
e.printStackTrace();
}
}
}
第二步:在webconfig進行配置初始化
package com.lpy;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
/**
* 以前spring配置實在xml裡面,現在springboot配置實在java類裡面
* @author Richard
*
*/
import com.lpy.controller.interceptor.MiniInterceptor;
@Configuration
public class WebMvcConfig extends WebMvcConfigurerAdapter {
/**
* 顯示圖片的配置,我們的個人資訊的頭像
* @author Richard
* 可以直接通過http://localhost:8082/181127743X140568/face/wx3ce7c79e96132bd8.o6zAJs-h4oiS8tWZhwsiPN2jEeD8.3LCbAy49NFap02319d110a7896da0e48d2c34a1259d6.JPG
*訪問圖片
*/
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/**")
.addResourceLocations("classpath:/META-INF/resources/") //解決swagger2的訪問,注意後面多了一個斜線
.addResourceLocations("file:D:\\java_all\\workspace-wxxcs\\video-space\\");
}
@Bean(initMethod="init")
public ZookeeperCuratorClient zookeeperCuratorClient() {
return new ZookeeperCuratorClient();
}
@Bean
public MiniInterceptor miniInterceptor() {
return new MiniInterceptor();
}
@Override
public void addInterceptors(InterceptorRegistry registry) {
//將攔截器註冊進去了
registry.addInterceptor(miniInterceptor()).addPathPatterns("/user/**")
.addPathPatterns("/video/upload","/video/uploadCover",
"/video/userLike","/video/userUnLike")
.addPathPatterns("/bgm/**")
.excludePathPatterns("/user/queryPublisher");//這方法就不會被攔截了
super.addInterceptors(registry);
}
}
相關文章
- Apache Curator 操作Zookeeper apiApacheAPI
- Curator 重連策略與超時
- springboot專案整合mybatisSpring BootMyBatis
- SpringBoot專案整合RabbitMQSpring BootMQ
- SpringBoot之Dubbo和Zookeeper整合Spring Boot
- zookeeper 開源客戶端Curator使用客戶端
- SpringBoot專案整合日誌Spring Boot
- SpringBoot專案整合MinIOSpring Boot
- 聊一聊 Zookeeper 客戶端之 Curator客戶端
- Zookeeper分散式鎖實現Curator十一問分散式
- ZooKeeper和Curator相關經驗總結
- Flowable與springBoot專案整合及出現的問題Spring Boot
- springboot實戰專案-寰宇外賣重難點總結Spring Boot
- Springboot 整合 Dubbo/ZooKeeper 詳解 SOA 案例Spring Boot
- SpringBoot + Mybatis + Redis 整合入門專案Spring BootMyBatisRedis
- Springboot2+vue2整合專案Spring BootVue
- ZooKeeper 分散式鎖 Curator 原始碼 02:可重入鎖重複加鎖和鎖釋放分散式原始碼
- ZooKeeper 分散式鎖 Curator 原始碼 01:可重入鎖分散式原始碼
- 微軟收購LinkedIn:保留名字 將之與Office進行整合微軟
- zookeeper:spark-project專案的zookeeper配置SparkProject
- Zookeeper和Curator-Framework實踐系列之: 配置管理Framework
- DUBBO與ZOOKEEPER、SPRINGMVC整合和使用SpringMVC
- 貴州:將涉及高邊坡和深基坑支護的危大工程等列為行業重點專案,並重點監管行業
- SpringBoot專案整合阿里Druid連線池Spring Boot阿里UI
- springboot+vue專案如何整合企業微信Spring BootVue
- 將Abp移植進.NET MAUI專案(一):搭建專案UI
- SpringBoot整合Canal進行資料庫 快取同步Spring Boot資料庫快取
- JMeter 如何與 MySQL 進行整合測試JMeterMySql
- Zookeeper之Curator(1)客戶端對節點的一些監控事件的api使用客戶端事件API
- springboot專案中整合ip2region包 FileNotFoundExceptionSpring BootException
- 專案經理在專案管理中的重點工作(轉)專案管理
- SpringBoot專案建立與第一個SSM專案示例Spring BootSSM
- Flutter整合舊專案並重構帖子詳情頁Flutter
- Springboot整合ElasticSearch進行簡單的測試及用Kibana進行檢視Spring BootElasticsearch
- 探索大型專案怎麼進行專案管理?專案管理
- iOS專案的持續整合與管理iOS
- Springboot專案中需整合的依賴集和檔案配置Spring Boot
- Zookeeper和Curator-Framework實踐之:分散式訊息佇列Framework分散式佇列