ehcache使用注意事项

通常 ehcache 的配置中默认的 diskStore 的路径设置的是 java.io.tmpdir ,等因而当前系统的临时目录。java

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

在 Linux 下若是咱们使用的是 root 帐号来启动 Tomcat 和 Resin 的话,那这个问题就不存在。可是咱们很是不建议用 root 来启动 Tomcat 和 Resin,这时候咱们会单独的建立一个非特权帐号,假设该帐号名为 www 来运行应用服务器。tomcat

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

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

而 Tomcat 就没有这个问题,由于它的临时目录在 {tomcat}/temp ,而整个 {tomcat} 都已经受权给 www 帐号了。日志

相关文章
相关标签/搜索