Grails3拦截器作为插件

Grails3拦截器作为插件,grails,grails-plugin,interceptor,grails-controller,grails-3.0,Grails,Grails Plugin,Interceptor,Grails Controller,Grails 3.0,我正在尝试将Grails2控制器过滤器转换为Grails3拦截器。拦截器位于Grails插件中。Grails3升级完成了,当我将代码复制并粘贴到一个应用程序中只是为了验证它是否工作时,我看到了拦截器的输出 但是,如果我试图通过插件将代码拉入应用程序,拦截器不会运行。我可以验证插件是否被拉取;当我点击一个动作时,它的拦截器不会被调用 例如,如果插件是: // If added to app directly, works fine. As plugin, not invoked. class Si

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

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

例如,如果插件是:

// 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'
}

我是否需要以某种方式注册它,以便拦截器在应用程序上工作?我漏了一步吗

感谢你指出回购协议也在做类似的事情。原来我遇到的问题是,当我升级插件的*plugin.groovy文件时,我没有扩展grails.plugins.plugin。一定要这样做,否则该插件可能不会被应用程序使用。

我没有搞砸,但注意到有一个插件似乎可以正常工作。希望对你有帮助哦,很有趣,谢谢@vahid,我来看看。我也看到了,但我一辈子都搞不清楚他在做什么,我没有做什么,为什么它不起作用,不幸的是,我无法对照我的测试项目检查它,因为它需要NewRelic。