博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
NVelocity标签设置缓存的解决方案
阅读量:5899 次
发布时间:2019-06-19

本文共 787 字,大约阅读时间需要 2 分钟。

 意外的问题总会让人措手不及,今天与大家分享的就是NVelocity设置缓存的问题,之前刚google了一下发现没什么太好的解决方案,希望在这能为需要的朋友找出满意的答案,上一篇blog刚说了NVelocity的用法,这就不在重复了,如需要的朋友,请点击,查看NVelocity的用法和使用参考文档已经下载最新dll地址。

  很多朋友可能也会遇到这样的问题,设置缓存的代码已经写了为什么不起作用呢,刚开始我也很苦闷,下来看设置缓存的代码吧,如下:

// 设置缓存 velocityEngine.AddProperty(RuntimeConstants.FILE_RESOURCE_LOADER_CACHE, true); velocityEngine.AddProperty("file.resource.loader.modificationCheckInterval", (Int64)30);   // 单位为秒

就像我那样刚开始,我的错误设置如下:

就这样设置缓存,怎么也不能起作用,这是什么原因呢?

原来是这来出了问题,如图:

这样设置的缓存,每次在VelocityEngine(Velocity 引擎)创建的时候都会重新New,Velocity标签也许没有我们想象的那么强大,这就是为什么缓存无效的原因了。

既然知道了问题的所在,那么怎么来处理这个问题呢,下面是我给出的解决方案:

利用static变量的特点,每次进来的时候都会检测VelocityEngine对象是否为null,这样只用赋值一次,等到设置的缓存失效为止,他就不会重新New了,模板也就被缓存起来了。

本文转自王磊的博客博客园博客,原文链接:http://www.cnblogs.com/vipstone/archive/2011/09/09/2172554.html,如需转载请自行联系原作者

你可能感兴趣的文章
支持后悔药的etcdui
查看>>
01Go命令介绍
查看>>
==与===的区别
查看>>
聊聊flink的BlobService
查看>>
再次简单明了总结flex布局,一看就懂...
查看>>
Dubbo下一站:Apache顶级项目
查看>>
判断DOM元素是否出现再浏览器窗口中
查看>>
Go语言类型中的一些小细节【笔记】
查看>>
rem与em的使用和区别详解
查看>>
Java实现下载文件到本地
查看>>
php的春天,swoole处理高并发
查看>>
python实现命令行交互
查看>>
【前端面试】字节跳动2019校招面经 - 前端开发岗(三)
查看>>
从重复到重用
查看>>
错误消息 This computer doesn't have VT-X/AMD-v enabled
查看>>
小程序外卖项目实践之-左右菜单联动
查看>>
java多线程系列:通过对战游戏学习CyclicBarrier
查看>>
递归查询级联信息
查看>>
Yoshino: 一个基于React的可定制化的PC组件库
查看>>
二叉树
查看>>