http://m.oschina.net/question/12_2368
一般 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 账号了。
分享到:
相关推荐
以下是一个简单的示例,展示了如何在Java代码中使用Ehcache: ```java import net.sf.ehcache.CacheManager; import net.sf.ehcache.Element; public class JDBCEhcache { public static void main(String[] ...
ehcache3-samples, 关于使用 Ehcache 3,一些示例/教程 Ehcache示例这里知识库包含有关 Ehcache 3用法的示例和教程。示例'basic'演示 Ehcache 3的基本配置和用法'集群'- 演示如何在Terracotta服务器上使用分布式缓存...
一个应用程序可以有多个缓存管理器,但通常推荐使用单例模式。 3. **缓存(Cache)**:缓存管理器下的一组配置好的缓存,每个缓存有自己的命名空间,用于区分不同的数据集。 4. **缓存元素(Cache Entry)**:缓存...
在这个例子中,我们定义了一个名为"shiroCache"的缓存,分配了5MB的堆内存,并使用系统临时目录作为磁盘存储。 然后,Shiro的Cache接口可以被用来获取和管理缓存。例如,我们可以在Subject的...
ehcache,作为一款高性能的开源Java缓存框架,旨在简化缓存的管理和使用,为开发者提供了灵活且强大的缓存解决方案。 **主要特性:** 1. **快速**:ehcache通过高效的内存管理和优化的算法设计,确保数据读取和写入...
Ehcache 是一个广泛使用的开源Java缓存系统,它提供了内存和磁盘存储,以及对缓存数据的分布式处理能力。在Java应用程序中,Ehcache能够显著提高性能,减少数据库负载,通过缓存经常访问的数据来提升响应速度。本文...
接着,我们需要创建一个Ehcache配置文件(ehcache.xml),定义缓存策略和缓存区域。例如: ```xml <ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation=...
Ehcache 是一个广泛使用的开源Java缓存库,它提供了内存和磁盘存储的二级缓存机制,以提高应用程序的性能和响应速度。Ehcache 被设计为轻量级且易于集成到各种Java应用程序中,支持分布式缓存和自动过期策略,是许多...
这里配置了一个名为 "myCache" 的缓存,最大内存元素为10000,非永久存储,120秒后未被访问将变为惰性,120秒后将自动过期,使用本地临时交换策略进行持久化。 ## 3. Ehcache 的缓存策略 - **缓存淘汰**: 包括 LRU...
Ehcache是一个开源的、高性能的缓存解决方案,广泛应用于Java应用程序中,以提高数据访问的速度和效率。本文将深入探讨Ehcache的简单监控,帮助开发者更好地理解其工作原理和性能状态。 首先,了解Ehcache的核心...
Ehcache是一个广泛使用的开源Java缓存解决方案,它能够提高应用程序性能,通过缓存数据和对象来减少数据库查询。 【描述解析】:描述中提到“已测试有效的ehcache.xsd文件”,这指的是Ehcache的XML Schema定义文件...
Ehcache是一个流行的Java缓存库,用于提高应用程序性能,通过存储经常访问的数据来减少数据库查询的次数。在这个“ehcache测试反射类例子”中,我们将探讨如何结合使用Ehcache和Java的反射机制。 首先,让我们理解...
EhCache使用详解,HIBERNATE缓冲
这个项目提供了一个简单的Ehcache使用示例,帮助开发者了解如何集成和利用Ehcache提升应用性能。 Ehcache的核心特性包括: 1. **内存管理**:Ehcache将数据存储在内存中,访问速度远超硬盘,从而显著提高数据读取...
Ehcache 是一个开源的 Java 缓存库,它提供了本地内存缓存以及分布式缓存解决方案。在 Spring 框架中,Ehcache 可以被轻松地集成,以提升应用的性能,减少数据库的负载。这篇博客将深入探讨如何将 Ehcache 集成到 ...
Ehcache 是一个流行的 Java 缓存框架,提供了强大的缓存机制,帮助开发者提高应用程序的性能和可扩展性。 Ehcache 的配置主要包括 diskstore、defaultCache、cache 三个部分,这三个部分的配置将决定 ehcache 的缓存...
Ehcache是一个开源的Java缓存库,广泛用于提高应用程序性能,通过缓存数据来减少对数据库或其他资源的访问。1.2.3版本是Ehcache的一个历史版本,发布于若干年前,但它仍然是理解Ehcache核心概念的重要参考。 1. **...
1.解压缩到目录下,复制ehcache-monitor-kit-1.0.0\lib\ehcache-probe-1.0.0.jar包到application的web-inf/lib目录下 2.将以下配置copy的ehcache.xml文件的ehcache标签中,注:上述链接中说的配置少写了个probe包名...
### Spring与ehcache结合使用详解 #### 一、前言 在现代软件开发中,缓存技术被广泛应用于提高应用程序的性能。其中,Spring框架因其灵活性和强大的功能,在Java领域得到了广泛应用;而ehcache作为一款高性能、...
配置Ehcache,我们可以在Spring的配置文件中定义一个`CacheManager` bean,指定Ehcache的配置文件路径。Ehcache的配置文件(如ehcache.xml)包含了缓存的命名空间、大小限制、过期策略等信息。例如: ```xml ...