如何让Grails在启动时执行控制器方法?

如何让Grails在启动时执行控制器方法?,grails,controller,Grails,Controller,我是一名java开发人员,开始使用遗留的Grails应用程序。我有一个控制器类和许多java类。控制器具有启动/停止java类中描述的任务的方法。为此,我使用了一个ScheduledExecutorService 问题是每次重新部署应用程序时,我都必须调用http://application/controller/start使其初始化调度程序。我希望在启动te应用程序时调用此controller.start()方法一次。我如何才能做到这一点,或者有更好的方法吗?我建议将此方法应用到服务中。应用程

我是一名java开发人员,开始使用遗留的Grails应用程序。我有一个控制器类和许多java类。控制器具有启动/停止java类中描述的任务的方法。为此,我使用了一个
ScheduledExecutorService


问题是每次重新部署应用程序时,我都必须调用
http://application/controller/start
使其初始化调度程序。我希望在启动te应用程序时调用此
controller.start()
方法一次。我如何才能做到这一点,或者有更好的方法吗?

我建议将此方法应用到服务中。应用程序启动后,您可以从controller和Bootstrap.groovy调用该服务。您还可以使用标准的@PostConstruct on服务来启动流程

您的业务方法应该位于服务中,而不是控制器中

如果您确实需要使用控制器,请从Bootstrap.groovy尝试以下操作:

new Controller().start()

我没有env来测试它,但它应该没有问题。

我建议将此方法放到服务中。应用程序启动后,您可以从controller和Bootstrap.groovy调用该服务。您还可以使用标准的@PostConstruct on服务来启动流程

您的业务方法应该位于服务中,而不是控制器中

如果您确实需要使用控制器,请从Bootstrap.groovy尝试以下操作:

new Controller().start()

我没有env来测试它,但它应该不会有问题。

是的,像在BootStrap.groovy中那样调用Controller方法就可以了。实际上业务逻辑在java类中,控制器只是用来控制它们。问题是,当我在服务中放入逻辑时,我会得到一个奇怪的grails melody异常,当相同的逻辑在java类中时不会发生这种异常。我找不到发生这种情况的原因,决定坚持使用Java,因为我对Grails或Groovyys几乎一无所知,在BootStrap.groovy中调用控制器方法是可行的。实际上业务逻辑在Java类中,控制器只是控制它们。问题是,当我在服务中放入逻辑时,我会得到一个奇怪的grails melody异常,当相同的逻辑在java类中时不会发生这种异常。我找不到发生这种情况的原因,决定继续使用Java,因为我对Grails或Groovy几乎一无所知