我试图让我的spring启动应用程序在没有连接到db的情况下启动。 this question中的方法似乎非常有前途,但是,我的应用程序执行CommandLineRunner
,它在启动时执行一些数据库维护(验证所有索引都已到位等)。为了避免在那里超时,我尝试异步运行CommandLineRunner
方法(使用Spring {#1}}),尝试获取数据库连接,直到成功为止,但我是仍然有超时异常。我假设@Async
方法的异步执行不起作用。
有关此的任何提示吗?
答案 0 :(得分:0)
您可以重构以使用scalac -version | awk '{print $4}'
安排CommandLineRunner
内的任何功能,并在将来安排足够的时间以避免超时。如果维护未按预期运行,则在故障时您可以正常关闭弹簧引导应用程序。
最简单的方法是名为' schedule'只需要一个Runnable和Date。 这将导致任务在指定时间后运行一次。所有其他方法都能够安排任务重复运行。固定速率和固定延迟方法用于简单的定期执行,但接受触发的方法更灵活。