Как отключить плагины Grails Spring во время выполнения?

1

У меня есть ситуация, когда мне нужно объявить плагин Grails Spring Security CAS как зависимость от времени компиляции (в моем приложении Grails BuildConfig.groovy):

plugins {
    // Other plugins omitted for brevity...

    compile ":spring-security-cas:1.0.5"
}

Однако, в зависимости от логики, которой я не располагаю к моему приложению до выполнения, мне нужно динамически отключать/снова включать плагин "на лету" во время выполнения.

Возможно ли это сделать? Если да, то как? Если нет, то почему?

  • 1
    Вы прочитали документацию по конфигурации плагина и попытались изменить значение конфигурации cas.active во время выполнения через ваше приложение?
  • 0
    Спасибо @JoshuaMoore - я видел это, однако, думаю, в этом корень моего вопроса (я совершенно новый для Grails): как мне из произвольного POJO прочитать / записать это значение cas.active ?
Показать ещё 5 комментариев
Теги:
spring
grails
cas
grails-plugin

1 ответ

1
Лучший ответ

В общем, ответ - нет. В Grails ничего нет, что позволяет вам выражать что-то вроде "если задано определенное системное свойство, полностью отключите какой-то определенный плагин". Плагины Grails могут делать много вещей, которые нельзя было отменить или переделать во время выполнения. Например, плагин может изменять web.xml во время сборки.

Плагины могут быть написаны так, что они допрашивают среду во время выполнения и ведут себя по-разному на основе этого, но это зависит от того, какой автор плагина учитывал это. Некоторое поведение плагина также может быть изменено во время выполнения, взаимодействуя с bean-компонентами в контексте приложения Spring. Это действительно зависит от плагина и того, какое поведение вы пытаетесь включить и выключить.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню