原创 Actor測試用例一般寫法

對於Actor的測試,可以使用TestActorRef和TestProb: TestActorRef:用於獲取Actor對象,能夠獲取actor中內部屬性,使用方法underlyingActor(有泛型) TestProb:用於判斷ac

原创 優雅關閉線程

如何優雅關閉線程前言實現邏輯 前言 在多線程編程中會需要動態創建線程來執行任務,在完成後釋放該線程,使用Excuotrs創建的線程,提供了shutDown方法進行線程的關閉,但使用原生的Thread和Runable創建的線程池,其

原创 使用MBean和Jolokia實現數據監控

使用MBean和Jolokia實現數據監控靜態MBean的定義MBean註冊使用代碼查詢MBean屬性與執行方法如何避免每個靜態MBean都要單獨定義接口 靜態MBean的定義 通過MBean的定義可以在系統運行時,查看系統內部的

原创 SPI實現原理介紹

SPI實現原理介紹SericeLoaderLoad方法查找實現類創建實例 SericeLoader 從JAVA中的SPI實踐學習中瞭解到查找實現的一個重要方法爲: ServiceLoader shouts = ServiceLo

原创 Kafka消息消費之性能提升實踐

Kafka消息消費之的性能提升實踐技術背景實際困難解決辦法一(分主題)解決辦法二(保序折中處理)解決辦法三(批量處理)消息整理批量+超時提交代碼示例自適應的批量處理測試用例解決辦法四(通過offset最後保序) 技術背景 從標題中

原创 DailyZipRollingFileAppender配置指導

DailyZipRollingFileAppender配置指導VS RollingFileAppender依賴配置注意點 VS RollingFileAppender 與RollingFileAppender相比,DailyZip

原创 GraphQL從零開始的應用實踐-OSGI框架

GraphQL從零開始的應用實踐-OSGI框架實現效果展示schema描述模型定義接口定義開發實現POM依賴scheam加載數據Fetcher綁定完成GraphQL創建GraphiQL集成 實現效果展示 組件對外提供了一個Rest

原创 JSR 269實踐

JSR 269實踐寫在前面JSR 269自定註解toBeTested解析實現自定義的Annotation處理邏輯ToBeTestedProcessorround概念需要的第三方依賴測試調試Debug 寫在前面 如果你有使用過lom

原创 Disruptor實際應用示例

Disruptor實際應用示例簡介告警處理需求告警信息處理器調度DisruptorApplicationEventHandlerProcessClassUtil測試AbstractEventHandlerODL實現 簡介 Disr

原创 巧用CompletableFuture返回值解決性能瓶頸

巧用CompletableFuture返回值解決性能瓶頸需求背景無返回值CompletableFuture實現有返回值CompletableFuture實現 需求背景 對一組字符串數據進行處理,處理邏輯簡單封裝一個對象,包裝該字符

原创 JAVA對象一致性比較(屬性值)

JAVA對象一致性比較(屬性值)HashCode方法序列化方法反射比較 HashCode方法 該方法也是最爲正規的方法,重寫對象的hashCode與equals方法,可以實現對象間相等性比較的判斷。 序列化方法 該方法是將A和B對

原创 指令一覽表

指令一覽表Maven編譯指令編譯問題only whitespace content allowed before start tag and notDocker常用操作線程dumpCurl命令GIT修改衝突PG執行腳本刪除kafk

原创 一次線上關鍵REST接口調用卡死bug排查

一次線上關鍵REST接口調用卡死bug排查背景介紹初步排查組織攻關排查亂查一通現場再次復現總結 背景介紹 本來是可以在文章標題中將bug現象說的更具體一點,但介於聰明TX可能一眼就知道問題所在,相對來說沒有了挑戰性。問題背景如下

原创 JAVA中的SPI實踐學習

JAVA中的SPI實踐學習介紹Animal接口Animal接口實現調用測試模塊更進一步 介紹 SPI ,全稱爲 Service Provider Interface,是一種服務發現機制。它通過在ClassPath路徑下的META-

原创 神來之筆-線程變量實踐

神來之筆-線程變量實踐ThreadLocal作用ThreadLocal實例子線程共享父線程的變量InheritableThreadLocal原理InheritableThreadLocal缺陷TransmittableThread