我是Java开发人员,必须使用旧的Grails应用程序。我有一个 Controller 类和一些Java类。 Controller 具有启动/停止Java类中描述的任务的方法。我为此使用ScheduledExecutorService
。
问题在于,每次重新部署应用程序时,我都必须调用http://application/controller/start
使其初始化调度程序。我希望在启动te app时一次调用此controller.start()
方法。我怎样才能做到这一点,或者有更好的方法做到这一点?
最佳答案
我建议将这种方法用于服务中。应用程序启动后,您既可以从 Controller 也可以从Bootstrap.groovy调用该服务。您还可以在服务上使用标准@PostConstruct来启动该过程。
您的业务方法应位于服务中而不是 Controller 中。
如果您确实需要使用 Controller ,请从Bootstrap.groovy尝试以下操作:
new Controller().start()
我没有env对其进行测试,但是它应该没有问题。
关于grails - 如何使Grails在启动时执行 Controller 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14952793/