使用 EhCache 关于临时目录的一个注意事项

Posted on

使用 EhCache 关于临时目录的一个注意事项 - 讨论区 - 开源中国社区

当前访客身份:游客 [ 登录 | 加入开源中国 ]

当前位置:讨论区 » 技术分享 » EhCache

软件 代码 讨论区 新闻 博客 红薯

使用 EhCache 关于临时目录的一个注意事项

红薯 发表于 8-20 09:24 3年前, 0回/524阅 讨论区 » 技术分享

【杭州】开源中国-源创会第十三期开始报名 我要报名» 一般 ehcache 的配置中默认的 diskStore 的路径设置的是 java.io.tmpdir ,等于是当前系统的临时目录。

但是在 Tomcat 和 Resin 这两个应用服务器上,临时目录是有区别的,在 Tomcat 上运行的应用通过 java.io.tmpdir 系统变量获取到的路径是 Tomcat 目录下的 temp 子目录,而 Resin 返回的是系统的临时目录,linux下可能就是 /tmp

在 Linux 下如果我们使用的是 root 账号来启动 Tomcat 和 Resin 的话,那这个问题就不存在。但是我们非常不建议用 root 来启动 Tomcat 和 Resin,这时候我们会单独的创建一个非特权账号,假设该账号名为 www 来运行应用服务器。

我们需要将 Tomcat 和 Resin 所在的目录授权给 www 账号,这样应用服务器的日志文件才能正常的写入,但是由于 Resin 的临时目录是对应系统的 /tmp 目录,因此如果应用中使用了 ehcache 并设置了存储路径为 java.io.tmpdir ,你就会发现启动的时候报错,提示没有在 /tmp 目录下创建文件的权限,这是因为 www 账号没有写 tmp 目录的权限。

解决的办法就是修改 ehcache 的 diskStore 配置的值为 user.home ,将存储文件路径指定到用户的主目录下即可。

而 Tomcat 就没有这个问题,因为它的临时目录在 {tomcat}/temp ,而整个 {tomcat} 都已经授权给 www 账号了。

标签: EhCache 缓存 补充话题说明»

分享到 **

收藏 **

3 **

举报 **

0 | 0 **

按默认排序 | 显示最新评论 | 回页面顶部 共有0个评论 发表评论»

非会员用户) ")")") 回评论顶部 | 回页面顶部 有什么技术问题吗? 我要提问

全部(4786)...红薯的其他问题

© 开源中国社区(OsChina.NET) | 关于我们 | 广告联系 | @新浪微博 | 开源中国手机版 | 粤ICP备12009483号-3

希望本站内容对您有点用处,有什么疑问或建议请在后面留言评论
转载请注明作者(RobinChia)和出处 It so life ,请勿用于任何商业用途