美文网首页Java服务器端编程Java学习笔记jfinal
JFinal3.0拾遗之EhCachePlugin 篇(二十九)

JFinal3.0拾遗之EhCachePlugin 篇(二十九)

作者: 葉糖糖 | 来源:发表于2017-10-18 09:53 被阅读129次

    各位客官别着急,这章节内容之前确实有讲过,但是我保证看完这节可以让你变得更(shao)强(tiao)大(keng)。

    一、事情原由

    开开心心写完bug准备部署,心里美滋滋。谁曾料想当把项目部署到linux服务器上的时候瞬间就炸了。整个应用都启动不起来,可是这一切在window系统上都是好好的。于是赶紧查看日志信息,居然发现了秘密。

    部署错误信息

    通过错误信息可以缩小排查范围,最终将问题锁定在ehcache.xml中。可是为什么在window系统中可以正常运行呢?在linux系统中都启动不起来?先卖个关子,接下来一起学习关于ehcache.xml文件的配置。

    二、学习ehcache.xml配置

    其实这个配置文件非常的简单,没有什么特别复杂的地方。

    <?xml version="1.0" encoding="UTF-8"?>
    <ehcache>
    
        <diskStore path="/root/ehcache/"></diskStore>
        
        <!-- 默认缓存配置 -->
        <defaultCache
            maxElementsInMemory="10000"
            eternal="false"
            timeToIdleSeconds="120"
            timeToLiveSeconds="120"
            overflowToDisk="true"
        />
        
        <!--天气缓存配置 -->
        <cache 
            name="weather" 
            maxElementsInMemory="10000" 
            eternal="false"
            timeToIdleSeconds="300" 
            timeToLiveSeconds="600" 
            overflowToDisk="true" 
        />
    
    </ehcache>
    

    参数说明:

    • diskStore :指定数据存储位置。
    • defaultCache:默认的缓存配置信息,如果不加特殊说明,则所有对象按照此配置项处理。
    • maxElementsInMemory:设置了缓存的上限,最多存储多少个记录对象。
    • eternal:代表对象是否永不过期。
    • timeToIdleSeconds:最大的发呆时间。
    • timeToLiveSeconds:最大的存活时间。
    • overflowToDisk:是否允许对象被写入到磁盘。

    三、是被什么坑了?

    一个项目被一行代码坑了。默认的配置文件在项目部署到linux服务器上的时候没有修改,才导致了血案。

    <!-- 
            磁盘存储:将缓存中暂时不使用的对象,转移到硬盘,类似于Windows系统的虚拟内存
            path:指定在硬盘上存储对象的路径
     -->
        <diskStore path="java.io.tmpdir" />
    

    PS:写代码是个细心活,一个不小心就会给自己挖个坑。小伙伴们需要谨慎!

    qq群二维码,快来一起玩耍吧

    相关文章

      网友评论

        本文标题:JFinal3.0拾遗之EhCachePlugin 篇(二十九)

        本文链接:https://www.haomeiwen.com/subject/aoksuxtx.html