Grails:拦截从插件创建服务?

时间:2014-02-24 16:41:58

标签: grails plugins service

我有一个在多个应用程序之间共享的插件,我需要设置一些特定于应用程序的选项,这些选项将在插件中的服务中使用。这是一个内部编写的插件,但是,插件必须不知道它正在运行的应用程序。

我能想到这样做的最好方法是在插件中创建服务后立即在应用程序中运行一些代码,并在服务上调用方法来设置选项。这可能吗?

如果不可能,我可以实现哪些其他设计来从应用程序向选项插件传递选项。

顺便说一下,这些选项需要在应用程序启动时以及在整个应用程序运行期间设置。

1 个答案:

答案 0 :(得分:1)

当应用程序启动时,最好使用Bootstrap.groovy来调用Grails服务上的方法。该服务可以由应用程序中的应用程序或插件提供。以下是如何执行此操作的快速示例:

BootStrap.groovy中

class BootStrap {

   def myExampleService

   def init = { servletContext ->
      myExampleService.someMethodOnTheService()
   }
}