springboot中對執行緒池的自定義分為兩種:
修改預設的執行緒池
建立新的自定義執行緒池
修改預設的執行緒池,需要建立配置類:
加入兩個註解:
@enableasync
開啟非同步執行功能
@configuration
spring配置類
實現asyncconfigurer
介面,並實現兩個方法:
public executor getasyncexecutor()
:注意在返回executor
必須初始化executor.initialize()
public asyncuncaughtexceptionhandler getasyncuncaughtexceptionhandler()
/** 修改預設執行緒池 */
@slf4j
@enableasync
@configuration
public class defaultthreadpoolconfig implements asyncconfigurer
@override
public asyncuncaughtexceptionhandler getasyncuncaughtexceptionhandler() , method: {}",
throwable.getmessage(), method.getname());}};
}}
直接在spring配置類中建立返回executor
的方法,並加上@bean
註解註冊為bean。
/** 自定義執行緒池 */
@configuration
public class mythreadpool
}
在需要開啟非同步執行的方法上,加上註解@async(value)
開啟非同步執行,這裡的引數分為幾種情況:
不填 或""
:採用預設的執行緒池,如果修改過預設執行緒池,則使用修改過的配置
"taskscheduler"
:無論是否修改過預設執行緒池,都使用修改前的預設配置
自定義執行緒池類名:使用指定的自定義執行緒池,注意這裡是類名(即註冊為bean的名字)
@slf4j
public class task
}
在springboot啟動類上加註解@enablescheduling
開啟定時任務功能並自動掃瞄。
在任務方法所在類上加註解@component
,從而被掃瞄到。
在任務方法上加註解@scheduled
,定義執行規則。這個註解的引數有很多種。如:
fixedrate
:單位為毫秒。間隔時間執行。
SpringBoot 日誌框架
1 市面上的日誌框架 jul jcl jboss logging logback log4j log4j2 slf4j.springboot中使用的日誌框架 日誌介面層 slf4j 日誌實現 logback spring使用的日誌框架 jcl commons logging 2 slf4j的使用 開...
springboot中自定義退出碼
public static void main string args override public int getexitcode 這裡只需要實現exitcodegenerator就可以了,重寫getexitcode 方法,返回自定義碼。而且我們可以監聽退出的事件 bean sampleeven...
Spring Boot 框架常用註解
這三個註解的作用分別為 這樣乙個只需要返回資料的介面就需要3個註解來完成,大多情況我們都是需要返回資料。也是基於最佳實踐,所以將這三個註解進一步整合。restcontroller 是 controller 和 responsebody的結合,乙個類被加上 restcontroller 註解,資料介面...