Grails 3 拦截器作为插件

Grails 3 Interceptors as a plugin

我正在尝试将 Grails 2 控制器过滤器转换为 Grails 3 拦截器。拦截器位于 Grails 插件中。 Grails 3 升级完成,当我将代码复制并粘贴到应用程序中(只是为了验证它是否有效)时,我会看到拦截器的输出。

但是,如果我尝试通过插件将该代码引入应用程序,拦截器不会 运行。我可以验证插件是否被拉取;当我点击一个动作时,它的拦截器并没有被调用。

例如,如果插件是:

// If added to app directly, works fine. As plugin, not invoked.
class SimpleInterceptor {
    SimpleInterceptor() {
        matchAll()
    }

    boolean before() {
      println 'test' // Does not print if using plugin
    }
}

控制器是一个简单的动作:

def index() {
   render 'success'
}

我是否需要以某种方式注册它才能让拦截器在应用程序上运行?我错过了一步吗?

感谢 @vahid 指出一个正在做类似事情的回购协议。原来我遇到的问题是当我升级插件的 *Plugin.groovy 文件时,我没有扩展 grails.plugins.Plugin。请务必这样做,否则该插件可能无法被应用程序接收。