原创 nacos適配SqlServer、Oracle nacos適配達夢、瀚高、人大金倉數據庫及部分源碼探究

  繼上文《nacos適配達夢、瀚高、人大金倉數據庫及部分源碼探究 》後補充nacos適配SqlServer、Oracle的貼碼,主要區別是SqlServer、Oracle的分頁SQL有點不一樣,做個記錄;   SqlServer的分頁有三

原创 nacos適配達夢、瀚高、人大金倉數據庫及部分源碼探究

一.插件實現   1.插件目錄結構   2.pom依賴 <dependency> <groupId>com.alibaba.nacos</groupId> <artifa

原创 Feign踩坑源碼分析--@FeignClient注入容器

一. @EnableFeignClients   1.1.類介紹    從上面註釋可以看出是掃描聲明瞭@FeignClient接口的類,還引入了 FeignClientsRegistrar類,從字面意思可以看出是進行了 FeignClie

原创 Feign踩坑源碼分析 -- 請求參數分號變逗號

一.案例   1.1.Post請求: http://localhost:8250/xx/task/test json格式參數: { "string": "a;b;c;d" }   1.2.controller代碼: @Au

原创 Quartz動態設置併發數量

  quartz存在一個問題,當正在進行的任務已經達到了設置的個數,後續觸發的任務沒有線程可用,會導致系統宕機;   Quartz通過StdSchedulerFactory工廠創建調度器,initialize方法通過解析quartz.pro

原创 SpringBoot+jpa適配國產達夢數據庫

  依賴:spring-boot-starter-data-jpa等其他Spring依賴版本都是2.1.5 <dependency> <groupId>com.dameng</groupId>

原创 SseEmitter broken pipe

    使用SseEmitter進行日誌推送時,後臺出現 broken pipe 錯誤,排查發現是瀏覽器在訂閱打開SseEmitter請求連接時,會在一定時間內多次發起請求,但由於代碼中new SseEmitter後將實例保存起來,請求會查

原创 Mybatis的初始化和結合Spring Framework後初始化的源碼探究

  帶着下面的問題進行學習:   (1)Mybatis 框架或 Spring Framework 框架對數據層 Mapper 接口做了代理,那是做了 JDK 動態代理還是 CGLIB 代理?   (2)Mapper 接口使用和不使用 @Ma

原创 Mybatis一級緩存和結合Spring Framework後失效的源碼探究

  1.在下面的案例中,執行兩次查詢控制檯只會輸出一次 SQL 查詢: mybatis-config.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration

原创 Proxy.newProxyInstance源碼探究

 JDK動態代理案例實現:實現 InvocationHandler 接口重寫 invoke 方法,其中包含一個對象變量和提供一個包含對象的構造方法; public class MyInvocationHandler implements

原创 Java代理簡述 Spring(11) - Introductions進行類擴展方法 Spring筆記(3) - SpringAOP基礎詳解和源碼探究

  1.什麼是代理?   對類或對象(目標對象)進行增強功能,最終形成一個新的代理對象,(Spring Framework中)當應用調用該對象(目標對象)的方法時,實際調用的是代理對象增強後的方法,比如對功能方法login實現日誌記錄,可以

原创 Spring(11) - Introductions進行類擴展方法 Spring筆記(3) - SpringAOP基礎詳解和源碼探究 Spring筆記(3) - SpringAOP基礎詳解和源碼探究

  Introductions(引用),在 Aspect 中稱爲類型間的聲明,使切面能夠聲明被通知的對象(攔截的對象)實現給定的接口,並提供該接口的實現。   簡單點說可以將一個類的實現方法複製到未實現的類中,動態的擴展類沒有的方法。  

原创 自己挖的坑自己填--jxl進行Excel下載堆內存溢出問題

  今天在進行使用 jxl 進行 Excel 下載時,由於數據量大(4萬多條接近5萬條數據的下載),數據結構過於負責,存在大量大對象(雖然在對象每次用完都設置爲null,但還是存在內存溢出問題),加上本地電腦內存不大(只有8G),導致下載數

原创 Mybatis日誌源碼探究 Spring筆記(10) - 日誌體系

一.項目搭建   1.pom.xml <dependencies> <dependency> <groupId>log4j</groupId> <artifactI

原创 自己挖的坑自己填--Mybatis mapper文件if標籤中number類型及String類型的坑

  1.現象描述   (1)使用 Mybatis 在進行數據更新時,大部分時候update語句都需要通過動態SQL進行拼接。在其中,if標籤中經常會有 xxx !='' 這種判斷,若 number 類型的字段上傳遞的值爲 0, 執行更新時會