Java 使用SpringBoot初始化jOOQ

Java 使用SpringBoot初始化jOOQ,java,spring,spring-boot,jooq,Java,Spring,Spring Boot,Jooq,在SpringBoot(1.3.3.RELEASE)应用程序中使用jOOQ时出现问题,因为在执行第一个查询之前,jOOQ似乎没有初始化(我们没有看到ascii art徽标)。这应该不是问题,但在我们的用例中却是。因此,我们正在寻找一种在应用程序启动期间初始化jOOQ的方法 我们所做的只是创建下面的bean,该bean在创建应用程序上下文后由Spring自动执行,然后执行一个查询来初始化jOOQ @Bean CommandLineRunner runner(DSLContext create) {

在SpringBoot(1.3.3.RELEASE)应用程序中使用jOOQ时出现问题,因为在执行第一个查询之前,jOOQ似乎没有初始化(我们没有看到ascii art徽标)。这应该不是问题,但在我们的用例中却是。因此,我们正在寻找一种在应用程序启动期间初始化jOOQ的方法

我们所做的只是创建下面的bean,该bean在创建应用程序上下文后由Spring自动执行,然后执行一个查询来初始化jOOQ

@Bean
CommandLineRunner runner(DSLContext create) {
    new CommandLineRunner() {
        @Override
        void run(String... args) throws Exception {
            create.fetchCount(create.select(BLACKBOX))
        }
    }
}

有更好的方法吗?

正如卢卡斯所说,这是一个答案:

@Bean
CommandLineRunner runner(DSLContext create) {
    new CommandLineRunner() {
        @Override
        void run(String... args) throws Exception {
            create.selectOne().fetch()
        }
    }
}

延迟初始化jOOQ会导致什么问题?顺便说一句:你的想法看起来不错,你可以把它作为一个答案……问题是因为我们有一个AOP,它拦截一些Spring服务的执行,并将该执行记录为审计跟踪。记录它们的模块使用RabbitMQ接收请求,超时时间为1秒。问题是jOOQ的初始化需要的时间比这多一点,请求失败并被Rabbit拒绝。现在,有了解决办法,它就可以正常工作了:)哦,我明白了。是的,如果您有一个大的模式,那么加载所有生成的类可能需要一段时间。运行实际查询是解决此问题的最佳方法。您甚至可以运行一个更便宜的查询:
create.fetchExists(BLACKBOX)
我们终于使用了这个:
create.selectOne().fetch()
非常感谢您的帮助!