原创 使用Vagrant創建CentOS虛擬機

使用Vagrant創建CentOS虛擬機 Vagrant是一款由HashiCorp公司提供的,用於快速構建虛擬機環境的軟件。本節我們將使用Vagrant結合Oracle VM VirtualBox快速地在win10環境下構建CentOS7虛

原创 Prometheus + Grafana (2) mysql、redis、Docker容器、服務端點以及預警

接着上一節 《Prometheus + Grafana (1) 監控 》,我們繼續探討 Prometheus + Grafana 的複雜應用 實現目標 這節我們的目標是搭建一個多維度監控微服務的可視化平臺,包括Docker容器監控、MySQ

原创 Prometheus + Grafana (1) 監控

簡介 Micrometer/Prometheus/Grafana體系是當前最成熟的低成本Java監控解決方案,而且通過其他的Prometheus exporter,還可以進行諸如我們可能需要的Windows操作系統監控/Mysql/Kakf

原创 HTML 轉 PDF

幾種HTML轉PDF工具的對比 工具 特點 html2image 簡單html轉化,對CSS的支持不好 itextpdf 需要自己寫模板,可以動態填充 wkhtmltopdf 轉化速度快,效果好 所以此處我們重點

原创 Java中PDF的轉換(圖片)與展示

解決的問題 有些時候我們需要在項目中展示PDF,但是直接在瀏覽器中加入PDF展示的插件,存在兼容性問題,某些瀏覽器顯示效果不理想,所以我們可以將PDF轉爲圖片,然後已圖片的方式展示,效果很好。 那麼怎麼將PDF轉爲圖片呢?有兩種方式:

原创 spring-boot-admin 監控

監控單體應用 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <vers

原创 JsonPath - 根據表達式路徑隨意解析

JsonPath 在xml的使用過程中,對於xml的解析我們知道可以使用xpath的方式,隨意的獲取到我們想要的屬性值。那麼在使用json時,我們能不能實現同樣的操作呢? 答案就是 json-path 基礎介紹 跟 XPath 類似,Jso

原创 OAuth + Security - 7 - 異常翻譯

認證異常翻譯 默認情況下,當我們在獲取令牌時輸入錯誤的用戶名或密碼,系統返回如下格式響應: { "error": "invalid_grant", "error_description": "Bad credentials"

原创 Springboot - log4j2

log4j2 springboot中默認的日誌框架是logback,如果要使用log4j2,需要先去除默認的日誌框架 <!-- 去除系統默認的logback日誌框架,使用自己配置的框架 --> <dependency> <groupI

原创 springboot之日誌配置-logback

springboot之日誌配置-logback 1、爲什麼使用logback logback是springboot默認集成的,是基於Sl4J的日誌框架。 logback的內核重寫了,使得在某些關鍵路徑上執行時大約會節省大約10倍的速度,同

原创 ELK的安裝

準備工作 首先將我們下載的Elasticsearch、Kibana壓縮文件上傳,我們此處是選擇的壓縮包安裝 創建用戶(必須創建,使用root安裝會報錯不能進行) 創建用戶組 爲用戶和用戶組分配文件的權限(主要是分配對解壓文件所在目錄的執行

原创 OAuth + Security - 6 - 自定義授權模式

我們知道OAuth2的官方提供了四種令牌的獲取,簡化模式,授權碼模式,密碼模式,客戶端模式。其中密碼模式中僅僅支持我們通過用戶名和密碼的方式獲取令牌,那麼我們如何去實現一個我們自己的令牌獲取的模式呢?下面我們將以用戶名,密碼,角色三個信息的

原创 OAuth + Security - 錯誤收集

Could not decode JSON for additional information: BaseClientDetails 完整的錯誤輸出如下: 2019-12-03 22:18:37.239 WARN 19120 --- [

原创 OAuth + Security - 5 - Token存儲升級(數據庫、Redis)

PS:此文章爲系列文章,建議從第一篇開始閱讀。 在我們之前的文章中,我們當時獲取到Token令牌時,此時的令牌時存儲在內存中的,這樣顯然不利於我們程序的擴展,所以爲了解決這個問題,官方給我們還提供了其它的方式來存儲令牌,存儲到數據庫或者

原创 StringRedisHelper

@Slf4j @Service public class StringRedisHelper { private StringRedisTemplate redisTemplate; @Autowired pu