原创 一場因數據庫連接池配置引發的血案

數據庫連接池配置引發的危機 車禍現場: xxx系統由於業務需求,所要部署的定時任務變的越來越多,於是決定利用Quartz框架來做一個任務調度管理模塊(採用集羣模式,並持久化任務調度信息,數據保存於mysql5.6)。 翌日,模塊開

原创 Spring高級話題-多線程

一、Spring中的多線程如何使用 Spring通過TaskExecutor(任務執行器)來實現多線程和併發編程,通過ThreadPoolTaskExecutor實現以基於線程池的TaskExecutor。 在實際使用中,我們

原创 java包裝類的比較

java包裝類比較注意事項: 包裝類對象直接比較的值是對象地址 若要進行value值的比較需要獲取真實值,或者直接調用equals方法 code: @Test public void basicTest() {

原创 Spring項目快速搭建

一、Maven Maven簡介 Apache Maven是一個軟件項目管理工具。基於項目對象模型的概念,maven可用來管理項目的依賴、編譯、文檔等信息。 使用Maven管理項目時,項目依賴的jar包將不再包含在項目內,而是集中

原创 Spring高級話題-@Enable*註解的工作原理

一、@Enable*註解的工作原理 我們通過使用@Enable*來開啓某一項功能的支持,從而避免配置大量增加,降低使用難度 通過觀察源碼,@Enable*註解都使用了@Import註解,@Import是用來導入配置類的,這就意

原创 Spring高級話題-計劃任務

一、什麼是計劃任務 就相當於一個定時器,可以使代碼在固定的日期時間執行 二、在Spring中如何使用計劃任務 使用@EnableScheduling開啓對計劃任務的支持 使用@Scheduled聲明一個計劃任務 (支持多類型

原创 Spring高級話題-Aware

一、Aware是什麼? Spring Aware就是一些定義了Spring容器本身功能資源的接口 Spring提供的Aware接口 接口 備註 BeanNameAware 獲得到容器中Bean的名稱 Bean

原创 Spring高級話題-條件註解

一、什麼是條件註解 根據特定的條件來控制Bean的創建行爲 使用到的註解 @Conditional 二、如何使用條件註解 通過實現Condition接口並重寫matches方法(構造判斷條件)來實現一個條件判斷類 在配置B

原创 SpringBoot項目,配置Redis多數據源

一、maven依賴 Springboot版本: 1.5.6.RELEASE <!--redis--> <dependency> <groupId>org.springframework.boot</groupId>

原创 RocketMQ角色詳解之Consumer

一、常用Consumer類 DefaultMQPushConsumer DefaultMQPullConsumer 二者的區別: DefaultMQPushConsumer: 系統控制讀取操作,收到消息後自動調用傳入的處理方法

原创 shell腳本:一些常用命令

一、定義數組 strArr = ("aaa" "bbb" "ccc") 二、數組遍歷 strArr=("aaa" "bbb" "ccc") for i in ${strArr[@]};do echo $i done resul

原创 Mongodb進行upsert操作,報主鍵重複錯誤

一、bug背景 併發場景,對mongodb某一collection的某一條數據進行upsert操作。 二、報錯error org.springframework.dao.DuplicateKeyException: Write

原创 pip升級及自定義依賴包安裝位置

一、pip升級(mac) # 使用root角色(避免一些權限問題) sudo su root # pip安裝 easy_install pip # pip升級 pip install --upgrade pip # 查看pi

原创 Jpa分頁查詢遇到的bug

背景 問題描述 使用Jpa hsql直接進行分頁查詢,查詢失敗 報錯error Caused by: java.lang.IllegalArgumentException: org.hibernate.hql.inte

原创 Spring高級話題-元註解與組合註解

一、什麼是元註解、組合註解 元註解:可以註解到別的註解上的註解 組合註解: 被註解的註解 二、annotationCombineDemo 組合註解 package com.cactus.demo.annotation_comb