1
在SpringBoot(1.3.3.RELEASE)應用程序中使用jOOQ時出現問題,因爲它似乎在執行第一個查詢之前jOOQ未初始化(我們沒有看到ascii-art徽標) 。這不應該是一個問題,但在我們的使用情況下是這樣。所以我們正在尋找一種在應用程序啓動期間初始化jOOQ的方法。使用SpringBoot初始化jOOQ
我們所做的只是創建下面的bean,一旦創建了應用程序上下文並且執行一個查詢來初始化jOOQ,Spring就會自動執行它。
@Bean
CommandLineRunner runner(DSLContext create) {
new CommandLineRunner() {
@Override
void run(String... args) throws Exception {
create.fetchCount(create.select(BLACKBOX))
}
}
}
有沒有更好的方法來做到這一點?
有什麼問題由jOOQ後期初始化引起的?順便說一句:你的想法看起來不錯,你可以將其設置爲一個答案... –
_problem_是因爲我們有一個AOP攔截某些Spring服務的執行並將該執行記錄爲審計跟蹤。記錄它們的模塊會使用RabbitMQ接收請求,並且具有1秒的超時時間。問題是jOOQ的初始化需要多一點,而請求失敗並被兔拒絕。現在,解決方法它工作正常:) –
哦,我明白了。是的,如果您有大型模式,則所有生成的類的類加載可能需要一段時間。運行實際查詢是解決此問題的最佳方法。你甚至可以運行一個更便宜的查詢:'create.fetchExists(BLACKBOX)' –