10
回答
ehcache 问题
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   

ehcache 报错 。。 难道一个ehcache只能有一个cache name??java.lang.ClassNotFoundException: net.sf.ehcache.constructs.web.filter.cach 我在ehcache配置一个cache配置是不会报错 如果多个会报错 求解释




<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="ehcache.xsd" updateCheck="true"
    monitoring="autodetect" dynamicConfig="true">
    <diskStore path="c:" />
    <defaultCache maxElementsInMemory="2" eternal="false"

        timeToIdleSeconds="1" timeToLiveSeconds="1" overflowToDisk="false"

        memoryStoreEvictionPolicy="LRU" />
    <cache name="cache3" maxElementsInMemory="10" maxElementsOnDisk="10"
        eternal="false" overflowToDisk="true" timeToIdleSeconds="7200"
        timeToLiveSeconds="14000" memoryStoreEvictionPolicy="LRU">
    
    </cache>
    <cache name="cache2" maxElementsInMemory="1" maxElementsOnDisk="1"
        eternal="false" overflowToDisk="true" timeToIdleSeconds="10"
        timeToLiveSeconds="20" memoryStoreEvictionPolicy="LRU" />
    <cache name="cache1" maxElementsInMemory="300" maxElementsOnDisk="300"
        eternal="false" overflowToDisk="true" timeToIdleSeconds="200"
        timeToLiveSeconds="50" memoryStoreEvictionPolicy="LRU" />
    <!-- timeToIdleSeconds:对象空闲时间,指对象在多长时间没有被访问就会失效。只对eternal为false的有效。默认值0,表示一直可以访问。
        timeToLiveSeconds:对象存活时间,指对象从创建到失效所需要的时间。只对eternal为false的有效。默认值0,表示一直可以访问。 -->


    <cache name="cache4" maxElementsInMemory="200" maxElementsOnDisk="200"
        eternal="false" overflowToDisk="true" timeToIdleSeconds="200"
        timeToLiveSeconds="50" memoryStoreEvictionPolicy="LRU" />



</ehcache> 



web


    <filter>
    <filter-name>cache2</filter-name>
    <filter-class>net.sf.ehcache.constructs.web.filter.cache2</filter-class>
</filter>
  <filter>
    <filter-name>cache3</filter-name>
    <filter-class>net.sf.ehcache.constructs.web.filter.cache3</filter-class>
</filter>
<filter-mapping>
    <filter-name>cache3</filter-name>
    <url-pattern>/bnHome/guide.do</url-pattern>
</filter-mapping>

<filter-mapping>
    <filter-name>cache2</filter-name>
    <url-pattern>/bnHome/new.do</url-pattern>
</filter-mapping>


求解释 @红薯

举报
13123123
发帖于4年前 10回/583阅
共有10个答案 最后回答: 4年前

java.lang.ClassNotFoundException: net.sf.ehcache.constructs.web.filter.cache2
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1358)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204)
    at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:249)
    at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)
    at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)
    at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3693)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4340)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
    at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:920)
    at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:883)
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
    at org.apache.catalina.core.StandardService.start(StandardService.java:516)
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:566)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)

java.lang.ClassNotFoundException: net.sf.ehcache.constructs.web.filter.cache2
ehcache 的 web 版需要另外一个 jar 包吧? 我也没用过

@红薯


  <filter>
    <filter-name>SimplePageCachingFilter</filter-name>
    <filter-class>net.sf.ehcache.constructs.web.filter.SimplePageCachingFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>SimplePageCachingFilter</filter-name>
    <url-pattern>/bnHome/guide.do</url-pattern>
</filter-mapping>


<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="ehcache.xsd" updateCheck="true"
    monitoring="autodetect" dynamicConfig="true">

    <cache name="guideCache" maxElementsInMemory="10"
        maxElementsOnDisk="10" eternal="false" overflowToDisk="true"
        timeToIdleSeconds="7200" timeToLiveSeconds="1400"
        memoryStoreEvictionPolicy="LRU" >
        
</cache>
    <cache name="topicByCreateDate" maxElementsInMemory="1"
        maxElementsOnDisk="1" eternal="false" overflowToDisk="true"
        timeToIdleSeconds="10" timeToLiveSeconds="20"
        memoryStoreEvictionPolicy="LRU" />
    <cache name="SimplePageCachingFilter" maxElementsInMemory="300"
        maxElementsOnDisk="300" eternal="false" overflowToDisk="true"
        timeToIdleSeconds="200" timeToLiveSeconds="50"
        memoryStoreEvictionPolicy="LRU" />
    <!-- timeToIdleSeconds:对象空闲时间,指对象在多长时间没有被访问就会失效。只对eternal为false的有效。默认值0,表示一直可以访问。
        timeToLiveSeconds:对象存活时间,指对象从创建到失效所需要的时间。只对eternal为false的有效。默认值0,表示一直可以访问。 -->
    <defaultCache maxElementsInMemory="10000" eternal="false"
        timeToIdleSeconds="120" timeToLiveSeconds="120" overflowToDisk="true"
        maxElementsOnDisk="10000000" diskPersistent="false"
        diskExpiryThreadIntervalSeconds="120" memoryStoreEvictionPolicy="LRU" />

    <cache name="topicList" maxElementsInMemory="200"
        maxElementsOnDisk="200" eternal="false" overflowToDisk="true"
        timeToIdleSeconds="200" timeToLiveSeconds="50"
        memoryStoreEvictionPolicy="LRU" />



</ehcache> 
这样就可以  也可以正常运用到效果

顶部