我是一名java开发人员,并且使用传统的Grails应用程序。我有一个控制器类和许多java类。控制器具有启动/停止java类中描述的任务的方法。我正在使用ScheduledExecutorService
。
问题是每次重新部署应用程序时,我都必须调用http://application/controller/start
来初始化调度程序。我希望在启动te应用程序时调用一次controller.start()
方法。我怎样才能实现这一目标,还是有更好的方法来实现这一目标?
答案 0 :(得分:5)
我建议将此方法用于服务中。应用程序启动后,您可以从控制器和Bootstrap.groovy调用该服务。您还可以在服务上使用标准@PostConstruct来启动该过程。
您的业务方法应位于不在控制器中的服务中。
如果你真的需要使用控制器,请试试Bootstrap.groovy:
new Controller().start()
我没有env测试它,但它应该没有问题。