原创 Apache Tomcat 類加載機制

Java 在剛剛誕生的時候就提出了一個非常著名的宣傳口號:“一次編寫,到處運行。”它體現了 Java 語言的平臺無關性,主流的操作系統都支持 Java 的運行,比如:Windows、Linux 以及 Mac OS 系統。不同的操作

原创 Spring Boot 通過 ThreadLocal、HandlerInterceptor、RequestBodyAdvice 優雅解決項目公共參數問題

因爲公司是做境外第三方支付,所以涉及到國際化問題。頁面不變的值可以由前端進行處理,對於後端如果遇到異常信息需要產品經理提供對應的顯示信息。這個顯示信息可以根據不同的異常定義不同的異常碼,然異常信息顯示國際化信息保存到數據庫。根據用

原创 Spring Boots 集成 Sharding Jdbc 使用複合分片

最近主要的工作重心是數據庫的容量規劃。 隨着業務的逐漸增大,原有保存在單表的數據量也日益增強。數據庫數據會隨着業務的發展而不斷增多,因此數據操作,如增刪改查的開銷也會越來越大。再加上物理服務器的資源有限(CPU、磁盤、內存、IO

原创 Apache Tomcat 請求處理

通過之前的 Apache Tomcat 可以把得到如下的 Tomcat 的架構圖: 1、請求處理核心組件 以下是 Tomcat 處理請求時涉及到的核心組件: 組件名稱 說明 EndPoint Endpoint 可以

原创 RabbitMQ 延遲隊列實現訂單自動關閉

1、延遲隊列 延遲隊列存儲的對象肯定是對應的延時消息,所謂”延時消息”是指當消息被髮送以後,並不想讓消費者立即拿到消息,而是等待指定時間後,消費者纔拿到這個消息進行消費。 在電商系統中,當用戶提交訂單超過 30 分鐘未支付就是自動

原创 Apache Tomcat Shell 啓動文件分析

當我們進行 web 企業開發完成的時候,正式項目都是在 Linux 上進行發佈。首先會把開發好的項目打包成 xxx.war 文件,然後把這個 war 包放在 tomcat 中的 webapps 目錄中。最後通過 ${TOMCAT_

原创 Apache Tomcat 架構演進

Tomcat 作爲一款知名的輕量級應用服務器,它的架構設計可以值得我們借鑑。因爲 Tomcat 作爲開源以久的 Web 服務器,它的架構還是挺複雜的。這篇博客主要是介紹 Tomcat 的總體架構,通過由淺到深的方案介紹 Tomca

原创 Apache Tomcat 源碼分析環境搭建

Apache Tomcat®軟件是Java Servlet、JavaServer頁面、Java 語言表達式和 Java WebSocket 技術的開源實現。Java Servlet、JavaServer頁面、Java 表達式語言和

原创 Apache Tomcat 初始化

在上一篇文章中我們分析了 Tomcat 中的整體架構。下面我們就來分析一下 Tomcat 源碼實現。在 Tomcat 中有兩個比較核心的過程: Tomcat 啓動:初始化 Tomcat 中的核心組件 處理請求:接收客戶端請求,處

原创 google guice hello world

Guice是一個輕量級的Java依賴注入(DI)框架。 使用依賴注入有很多優點,但是手動操作常常會導致編寫大量樣板代碼。Guice是一個框架,用於編寫使用依賴注入的代碼,而不需要編寫大量樣板代碼,有關動機的更多細節,請參閱本頁面。

原创 最佳實踐 -- Dubbo 服務化進程的一點思考

最近主要負責公司的 dubbo 服務改造。在改造過程中,涉及到很多核心繫統的編碼。改造的系統涉及到核心系統,並且改造的系統一多,難免會產生一點胡思亂想。下面我就分享一下我在項目改造過程中的一點胡亂的想法。需要對大家有幫助: 1、統

原创 Spring Boot 接入 Dubbo 指導文檔

當前系統是使用 spring boot + spring cloud feign 作爲系統間的調用。使用 amazon 的 aws 的負載均衡調用。不能夠做到服務調用的治理以及監控。基於以上缺點所以決定引用 dubbo 來做服務間

原创 多環境測試遇到的問題及解決方案

最近新到的公司由於在服務化,領導叫我調研並使用 apache dubbo 做微服務改造。因爲之前的公司基本上都是使用的 dubbo,所以對於服務改造過程並不複雜。而且我還把自己的改造指南分享到公司內網 wiki。這次主要是和大家分

原创 Spring Security Java Config 淺析

在之前的項目中使用接觸過通過 xml 配置使用 Spring Security。但是最近比較流行 Java Config來配置使用 ``Spring Security。並且對它的 builder 模式比較感興趣,就來查看了它的源碼

原创 Spring 無法代理 Mybatis 接口問題

最近公司正在開始平臺化,需要統一打印日誌格式。由於領導對於我的認可,把這件事情交給我來做。所謂統一日誌格式主要是做以下幾件事: more business log:細粒度的業務日誌文件區分(Dao、Manage、Service、