[grails 3]:替换插件描述符上的 doWithWebDescriptor?
[grails 3]: Replacement of doWithWebDescriptor on Plugin descriptor?
我们正在尝试将现有的 grails 2.5 应用程序移动到更新版本的 grails。为此,采用的策略是先升级到 grails 3.3.11(3.x 最新版本),然后再升级到 grails 4.
对于 grails 2.5.6 应用程序的功能之一,我发现在任何地方都没有任何记录,或者我可能错过了文档中的那部分内容!它是关于插件描述符的 doWithWebDescriptor
。通过这个闭包,我们可以根据一些规则动态更新 web.xml。
升级到grails 3后,发现doWithWebDescriptor
不行了。它没有初始化它应该执行的任务(就 grails 2.5 而言)。后来发现grails 3.0之后就没有文档了documentation.
如果 doWithWebDescriptor
被删除,那么用 grails 3 或最新的 grails 4 版本最合适的替代品是什么?如果它仍然工作正常并且 grails 3 需要一些与配置相关的更改,那么请指点我那部分。
更新:
我们需要doWithWebDescriptor
的原因是,我们正在尝试添加基于插件的servlet。实际上我们有几个插件用于应用程序中的不同模块。并非项目中包含所有插件。基于选择的模块,我们正在向应用程序添加插件。因此,如果包含一个插件,那么我们需要将 servlet 和一个过滤器添加到 web.xml.
谢谢。
Reason why we need doWithWebDescriptor is that, we are trying to add
servlet based on the plugin.
您可以通过在应用程序上下文中注册 ServletRegistrationBean
来添加一个 servlet。您可以在插件的 doWithSpring
方法或应用程序的 resources.groovy
方法中执行此操作。示例:
Closure doWithSpring() {{->
myServlet(ServletRegistrationBean, new MyServlet(), "/myServlet/*") {
loadOnStartup = 2
}
}}
我们已在 18.5 挂接到运行时配置 部分的 http://docs.grails.org/3.3.11/guide/plugins.html#hookingIntoRuntimeConfiguration.
中对此进行了记录
我们正在尝试将现有的 grails 2.5 应用程序移动到更新版本的 grails。为此,采用的策略是先升级到 grails 3.3.11(3.x 最新版本),然后再升级到 grails 4.
对于 grails 2.5.6 应用程序的功能之一,我发现在任何地方都没有任何记录,或者我可能错过了文档中的那部分内容!它是关于插件描述符的 doWithWebDescriptor
。通过这个闭包,我们可以根据一些规则动态更新 web.xml。
升级到grails 3后,发现doWithWebDescriptor
不行了。它没有初始化它应该执行的任务(就 grails 2.5 而言)。后来发现grails 3.0之后就没有文档了documentation.
如果 doWithWebDescriptor
被删除,那么用 grails 3 或最新的 grails 4 版本最合适的替代品是什么?如果它仍然工作正常并且 grails 3 需要一些与配置相关的更改,那么请指点我那部分。
更新:
我们需要doWithWebDescriptor
的原因是,我们正在尝试添加基于插件的servlet。实际上我们有几个插件用于应用程序中的不同模块。并非项目中包含所有插件。基于选择的模块,我们正在向应用程序添加插件。因此,如果包含一个插件,那么我们需要将 servlet 和一个过滤器添加到 web.xml.
谢谢。
Reason why we need doWithWebDescriptor is that, we are trying to add servlet based on the plugin.
您可以通过在应用程序上下文中注册 ServletRegistrationBean
来添加一个 servlet。您可以在插件的 doWithSpring
方法或应用程序的 resources.groovy
方法中执行此操作。示例:
Closure doWithSpring() {{->
myServlet(ServletRegistrationBean, new MyServlet(), "/myServlet/*") {
loadOnStartup = 2
}
}}
我们已在 18.5 挂接到运行时配置 部分的 http://docs.grails.org/3.3.11/guide/plugins.html#hookingIntoRuntimeConfiguration.
中对此进行了记录