设置属性以在Tomcat启动时禁用ehcache

时间:2018-07-12 11:55:11

标签: java tomcat ehcache system-properties

我是这个项目的新手,仍然想出很多办法。多年以来一直是经验丰富的Web开发人员。

我的质量检查人员来找我,说:“我们遇到了问题。过去,我们可以关闭质量检查框上的休眠缓存,以在应用程序外部运行查询,然后在应用程序中查看结果,但它不再起作用了。”

所以我调查了这个问题,他们将以下行添加到setenv.bat(在Windows Server 2012 R2 Standard上运行的Tomcat 7)中,

set JAVA_OPTS=%JAVA_OPTS% -Dnet.sf.ehcache.disabled=true

根据他们过去的说法,这是可行的,但是现在不行了。

因此,问题之一是,我们在开发人员的设备上运行应用程序的方式与在质量检查和生产环境中的运行方式不同。 (我知道,我知道。)我们运行maven脚本启动所有内容,我可以使java opts正常工作。

有趣的是,我已经这样做了很多年,但我对setenv.bat一无所知。我在这里做了一些阅读:https://tomcat.apache.org/tomcat-7.0-doc/RUNNING.txt,它说settomv.bat在将tomcat作为服务运行时不起作用。

因此,我登录QA框并进行挖掘并确定,确实,tomcat正在作为服务运行。该服务将启动tomcat7.exe // RS // Tomcat7。 (不确定tomcat7.exe是什么。)

因此,根据上述文档,我设置了CATALINA_OPTS = -Dnet.sf.ehcache.disabled = true并重新启动服务器。

同时,我编写了一个方便的小servlet,该servlet转储了所有系统属性,因此我可以立即知道我的更改产生了什么影响。我运行它,它说net.sf.ehcache.disabled=false。显然,有些事情压倒了我的改变。

因此,我在这里做了一些阅读:https://tomcat.apache.org/tomcat-7.0-doc/windows-service-howto.html,并将环境变量设置为PR_JvmOptions = -Dnet.sf.ehcache.disabled = true,然后重新启动服务器。运行我的小servlet,然后:

net.sf.ehcache.disabled=false

因此,很明显,无论我做什么,某些事情都将覆盖我的设置。文档说它正在忽略setenv.bat,我不知道在哪里可以找到这个替代。

0 个答案:

没有答案