Grails从预定作业调用控制器方法

luc*_*e84 2 grails controller job-scheduling

在我的grails应用程序中,我想从预定的作业类调用控制器中包含的方法.

阅读[http://www.grails.org/Job+Scheduling+(Quartz)],我可以看到数据源和服务在作业类中按名称自动连接.对于控制器来说,默认情况下这似乎是不可能的,可能是因为控制器不应该做这种事情.

顺便说一句,有没有办法从grails中的作业调用控制器方法?对你来说这可能是一个不好的做法(以及为什么)?

在此先感谢Luca

Vic*_*nko 8

这是不好的做法,因为Controller旨在处理Web请求 - 包括用户会话和所有内容.

Quartz作业中没有用户会话.

其次,保持Controller中的功能本身是件坏事 - 控制器应该更好地"控制"对其他业务逻辑方法的调用.

我建议您将所有功能移到服务,域类或POGO类中src.

当然,您可以调用new MyController().method(),但默认情况下不会将任何bean注入控制器.