В Magnolia я создал скрипт Groovy для удаления неиспользуемых пользователей.Когда я запускаю скрипт Groovy непосредственно из интерфейса «DEV> Groovy scripts» (в центре администрирования), он работает нормально.
Теперь я пытаюсь запланировать выполнение этого скрипта.Поэтому я настроил Команду и Планировщик.
Команда: scheduler> config> команды> default> groovyDeleteUsers с атрибутами: - class = my.commandes.GroovyDeleteAllPublicUsersCommand
Планировщик: планировщик> config> jobs> deleteUsersJob с атрибутами:
- active = true
- catalog = default
- command = groovyDeleteUsers
- cron = 0 0 8* * * *
Вот как структурирован мой скрипт Groovy:
package my.commands;
import info.magnolia.commands.*;
import info.magnolia.context.MgnlContext;
import javax.jcr.Node;
import javax.jcr.RepositoryException;
import javax.jcr.Session;
public class GroovyDeleteAllPublicUsersCommand extends MgnlCommand {
public boolean execute(Context ctx) {
....
}
}
Проблема в том, что задание планировщика не может видеть мою команду.
Магнолия Не могу найти команду [groovyDeleteUsers] для работы в каталоге [{default}]
Я пробовал запрос JCR: "select * from nt: base, где jcr:путь как «% / commands /%», как указано в документации, и моя недавно созданная команда находится в результате.
[EDIT] Кажется, проблема в команде.Когда я пытаюсь определить команду с существующим классом, таким как info.magnolia.commands.impl.ImportCommand
, команда хорошо регистрируется приложением.Но когда я пытаюсь использовать my.commandes.GroovyDeleteAllPublicUsersCommand
, приложение не регистрирует мою вновь созданную команду.
Так у вас есть идеи?
Спасибо за помощь, С уважением, Джимми