解决ehcache的UpdateChecker问题

问题描述

项目中用了ssh框架,每次启动tomcat的时候都特别慢,会在这样一句话下面停留很久

[2016-01-08 23:55:51,517 INFO UpdateChecker.java:doCheck:98] ---- New update(s) found: 2.6.5 [http://www.terracotta.org/confluence/display/release/Release+Notes+Ehcache+Core+2.6]. Please check http://ehcache.org for the latest version.

原来是hibernate用了ehcache,ehcache会默认去自己网站查询更新。

解决思路

我去bing中搜索解决办法,搜到的大部分都是如下内容:

解决问题,修改配置,关闭更新检测:
打开 ehcache.xml 将第一行 <ehcache> 的属性 updateCheck 改为false,如下:
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:noNamespaceSchemaLocation="ehcache.xsd" updateCheck="false">

可是我根本就没有用ehcache啊,根本找不到这个配置文件。自己尝试着去加这个配置文件,配置了好一会,都没有成功。

最终解决办法

看来思路是对的,但是要绕弯。我又仔细看了一下log输出,看到这样一句话:

No configuration found. Configuring ehcache from ehcache-failsafe.xml  found in the classpath: jar:file:/C:/SourceCode/WebRoot/WEB-INF/lib/spring/ehcache-core-2.5.2.jar!/ehcache-failsafe.xml

也就是说,这个配置文件打在了jar包里面。这就好办了:

1. 解压缩这个jar文件
2. 修改文件ehcache-failsafe.xml,如上面所说
3. 把目录打成zip文件,ehcache-core-2.5.2.zip
4. 把上面的zip文件重命名为ehcache-core-2.5.2.jar,覆盖原文件,搞定。

你可能感兴趣的:(解决ehcache的UpdateChecker问题)