开发者社区> 问答> 正文

ehcache 问题?报错

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>


求解释 @红薯

展开
收起
爱吃鱼的程序员 2020-06-20 19:43:48 477 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    ++++!

    把详细的异常贴出来

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

    @红薯我们社区用到大量的缓存 修的数据很少

    @红薯 @红薯 @红薯 @红薯 @红薯

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

    我用的是web包 但是就是找不到类好纠结

    @红薯


     <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>


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

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

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



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

     难道只能配置一个???

    region可以配置多个的,ehcache也推荐这样做

    slf4j-api-1.5.8.jar

    slf4j-log4j12.jar

    把这两个jar包加上...

    2020-06-20 19:44:06
    赞同 1 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载