Grails Вызов метода контроллера из запланированного задания - PullRequest
2 голосов
/ 09 февраля 2011

В моем приложении Grails я хотел бы вызвать из класса запланированных заданий метод, содержащийся в контроллере.

Чтение этого [http://www.grails.org/Job+Scheduling+(Quartz)], Я вижу, что источники данных и службы автоматически подключаются по именив рабочих классах.Кажется, что это невозможно для контроллеров по умолчанию, возможно, потому что контроллеры не должны делать такого рода вещи.

Кстати, есть ли способ получить метод контроллера, вызываемый из работы в Grails?И может ли это быть такой плохой практикой для вас (и почему)?

Заранее спасибо, Лука

1 Ответ

8 голосов
/ 09 февраля 2011

Это плохая практика, потому что контроллер предназначен для обработки веб-запросов - с пользовательским сеансом и всем.

Нет пользовательского сеанса в задании Quartz.

Во-вторых, сохранение функциональности в контроллере является плохимСам по себе - Контроллер должен лучше «контролировать» вызовы для других методов бизнес-логики.

Я бы порекомендовал вам перенести всю функциональность либо в службу, либо в класс домена, либо в класс POGO в src.

Конечно, вы можете вызвать new MyController().method(), но по умолчанию никакие бины не будут вводиться в контроллер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...