原创 SpringBoot 動態代理|反射|註解(四)- 動態代理對象注入到Spring容器

上一篇:SpringBoot 動態代理|反射|註解|AOP 優化代碼(三)-註解 本篇我們將實現通過代理生成的對象注入到spring容器中。首先需要實現BeanDefinitionRegistryPostProcessor, Applica

原创 SpringBoot 動態代理|反射|註解|AOP 優化代碼(三)-註解

上一篇SpringBoot 動態代理|反射|註解|AOP 優化代碼(二)-反射 我們實現了通過反射完善找到目標類,然後通過動態代理提供默認實現,本篇我們將使用自定義註解來繼續優化。 創建註解 1.創建枚舉 ClientType,用來標明Ha

原创 SpringBoot 動態代理|反射|註解|AOP 優化代碼(二)-反射

SpringBoot 動態代理|反射|註解|AOP 優化代碼(一)-動態代理提供接口默認實現 我們拋出問題,並且提出解決問題的第一步的方法。下面我們繼續深入,動態代理接口註解和反射繼續解決我們的問題。 改動代碼結構 新增一個Handler

原创 SpringBoot 動態代理|反射|註解|AOP 優化代碼(一)-動態代理提供接口默認實現

一、背景 在項目中需要調用外部接口,由於需要調用不同環境(生產、測試、開發)的相同接口(例如:向生、測試、開發環境的設備下發同一個APP)。 1.生產環境由SpringCloud註冊中心,通過Feign調用, 2.其它環境直接通過OKHtt

原创 SpringBoot JWT Token 跨域 Preflight response is not successful

一、Springboot實現token校驗 SpringBoot實現token校驗,可以通過Filter或者HandlerInterceptor,兩種方式都可以,Filter在最外層,請求首先會通過Filter,filter允許請求才會通過

原创 docker jenkins gitlab 自動部署NodeJs項目 及 env node not found 解決

一、Jenkins配置 1.安裝NodeJS Plugin 在插件管理界面 搜索Node 找到NodeJS,安裝、重啓,成功後如下圖: 2.配置NodeJS Server 在全局工具配置中,如下配置: 二、項目配置 選擇"構建一個自由

原创 vue使用el-upload上傳文件及Feign服務間傳遞文件的方法

這篇文章主要介紹了vue使用el-upload上傳文件及Feign服務間傳遞文件的方法,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧 一、前端代碼 <el-upload cla

原创 vue 使用 el-upload 上傳文件及Feign 服務間傳遞文件

一、前端代碼 <el-upload class="step_content" drag action="string" ref="upload"

原创 詳解SpringCloud Config配置中心

這篇文章主要介紹了詳解SpringCloud Config配置中心,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧 一、創建Config配置中心項目 1.添加依賴 <depen

原创 SpringCloud 配置中心

一、創建Config配置中心項目 1.添加依賴 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-

原创 SpringBoot ActiveMq JmsTemplate 異步發送、非持久化

ActiveMq事務 ActiveMq事務的作用就是在發送、接收處理消息過程中,如果出現問題,可以回滾。 ActiveMq異步/同步發送 以下摘抄自https://blog.csdn.net/songhai... 同步發送:消息生產者使用

原创 moquette改造筆記(五):設備連接頻繁上下線或者相互頂替出現的設備上下線狀態錯亂問題

發現問題 在moquette使用中發現在設備頻繁上下線和兩個設備ClientId一樣相互頂替連接的情況下,InterceptHandler的onConnect和onConnectionLost的方法調用沒有先後順序,如果在這兩個方法裏面來記

原创 moquette改造筆記(四):解決InterceptHandler中的onConnectionLost()調用兩次

發現問題 在使用中設備異常斷開,InterceptHandler中的onConnectionLost()。經過調試發現是MoquetteIdleTimeoutHandler中的代碼導致的,代碼如下: @Override public

原创 moquette改造筆記(三):優化BrokerInterceptor 中的線程池

發現問題 在io.moquette.spi.impl.BrokerInterceptor的構造函數中,新建了一個線程池,代碼如下: private BrokerInterceptor(int poolSize, List<Intercept

原创 moquette改造筆記(二):優化BrokerInterceptor notifyTopicPublished()邏輯

發現問題 下面部分是io.moquette.spi.impl.BrokerInterceptor.java部分源碼 @Override public void notifyClientConnected(final MqttConn