我有一个现有的Spring启动应用程序,现在我需要调试一些方法。因此,这些方法是@Scheduled
或在服务类中,它们由应用程序自动调用。
有没有通过调试调用这些方法的选项?或者在没有更改源代码的情况下有没有其他方法可以做到这一点?我可以添加ApplicationRunner或CommandLineRunner但我需要更改应用程序源。
谢谢
您可以使用SpEL外化@Scheduled
注释的值。您仍然需要更改代码,但之后它是可配置的,您可以在不更改代码的情况下更改cron。这样你就可以用不同的cron启动它来进行调试。
如果您无法(无论出于何种原因)更改代码,则可以使用远程调试,但您需要重新启动应用程序并添加本文档中提到的参数:https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#using-boot-running-as-a-packaged-application
但是这样可能需要花费大量时间来调度调度方法,具体取决于cron或interval。