我有一个Web应用程序,希望通过外部文件夹(容器和.war文件外部)中的设置进行配置.因此,我只想将一个设置注入到我的webapp中,它是配置的根文件夹.这样做的原因是,维护团队可以更新漂亮的纯文本文件中的配置设置,而不必重新部署war文件.
我的问题是,在仅一个配置设置的情况下,参数化Web应用程序的最佳方法是什么?我知道我可以使用JVM arg,然后从初始化servlet中检测到它.理想情况下,我想要一些可以放入server.xml(而不是web.xml文件)的东西,该东西可以通过ServletContextListener.contextInitialized(ServletContextEvent paramServletContextEvent)方法以编程方式获取.
有没有办法使用ServletContextListener方法做到这一点?
解决方法:
我们正在使用-Dconfig.location = / foo / bar / config.properties,它工作正常.这是一个JVM arg,因此转到启动脚本.
您可以通过JNDI在server.xml中注册属性,但是我不认为这是一个更好的选择. server.xml或catalina.sh-两者都是容器级别的