我刚刚在Grails项目中重新考虑了Logback初始化的实现,它是通过一个ServletContextListener实现的,它提供了一旦触发的ServletContext并触发了整个Logback初始化过程。
在BootStrap.groovy中,我已经在init闭包中得到了一个ServletContext对象,那么为什么不从这个闭包中触发Logback初始化呢?
(对我来说)使用BootStrap初始化的一个巨大好处是,我不必运行grails install-templates并在web.xml文件中注册侦听器.如果我不注册一个ServletContextListener ServletContext ,而是从 BootStrap.groovy**?**获取,那么有什么缺点吗?
我很想看看你对此的看法;)
发布于 2013-02-14 15:26:47
正如我从一个简单的测试中看到的,到目前为止,它肯定会在启动时生效,因为在启动过程的早期,当在ServletContextListener文件中注册一个web.xml而不是从BootStrap.groovy文件调用方法时,会调用Logback初始化.
据我所知,JVM将首先编译所有的Java类,这样底层的Spring将比上面的Groovy文件更快地启动。
结论:如果您在启动时就需要方法,不会从BootStrap.groovy调用它们,否则就没有缺点(至少到目前为止,我还没有看到).
https://stackoverflow.com/questions/14708939
复制相似问题