2

在我的 grails 应用程序中,我想从计划的作业类中调用包含在控制器中的方法。

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

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

在此先感谢,卢卡

4

1 回答 1

8

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

Quartz 作业中没有用户会话。

其次,在控制器中保留功能本身就是一件坏事——控制器最好只“控制”对其他业务逻辑方法的调用。

我建议您将所有功能移至src.

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

于 2011-02-09T10:18:34.837 回答