我正在将spring 4.1与ehcache一起使用。我可以用整数键缓存字符串值,但每当我尝试缓存对象时,它都会失败,不会出现任何错误。我保存在缓存中的模型(POJO)确实实现了hashcode、equals和tostring函数。
ehcache配置如下
<diskStore path="E:/ymserviceslog" />
<defaultCache maxElementsInMemory="50" eternal="false"
overflowToDisk="false" memoryStoreEvictionPolicy="LFU" />
<cache name="test" maxElementsInMemory="1000" eternal="false"
overflowToDisk="true" memoryStoreEvictionPolicy="LRU"
timeToLiveSeconds="3000" diskPersistent="true" />
Spring配置如下所示
<cache:annotation-driven proxy-target-class="true"/>
<context:component-scan base-package="com.ashitosh.ym.dao" />
<bean id="cacheManager" class="org.springframework.cache.ehcache.EhCacheCacheManager">
<property name="cacheManager" ref="ehcache" />
</bean>
<bean id="ehcache" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean">
<property name="configLocation" value="classpath:ehcache.xml" />
<property name="shared" value="true"/>
</bean>
<bean id="cachedao" class="com.ashitosh.ym.dao.Cache"/>
我要缓存的类和方法
public class Cache implements Icache {
@Override
@Cacheable(value = "test", key="#id")
public Party getPerson(int id) {
Party party = new Party("data",1);
return party;
}
}
如果我将getPerson方法的返回值从Party对象替换为String,它就会工作。有什么想法吗?
我解决了!我需要为需要缓存的对象类实现可序列化。
public class Party implements Serializable {
private static final long serialVersionUID = 1L;
...
当我调用我用注释的方法时,我知道缓存没有被使用,因为我在方法内部进行了打印,如果使用了缓存,就不应该打印它。 在日志中,我知道缓存正在初始化 我应该提到调用该方法的方法是常规Java
我得到一个错误,而使用java配置为ehache与Spring引导和Spring缓存启动无法找到名为bpConfigs的缓存为Builder[公共java.util.列表com.xxx.bp.repository.BpConfigRepository.getEligibleConfig()]缓存=[bpConfigs]|key="|keyGenerator="|cacheManager="|cac
主要问题是EHCAHCE2.6.2是否基于ehcache配置驱逐过期元素;还是我必须按程序驱逐? 在阅读了文档的各个部分(数据寿命和缓存大小)之后,我们将当前配置设置为使用TTI/TTL和CacheManager级别MaxBytesLocalHeap=1024M。在设置了这个之后,我希望ehcache只能使用1GB的堆空间进行缓存,但是从测试(和prodcution)中,我们总是看到JVM堆已经满
问题内容: 我需要在应用程序中缓存一些数据,并且我正在考虑使用Ehcache。我有几个问题: 我是否需要其他服务器进行Ehcache? 我是否需要其他客户端来使用Ehcache? Ehcache如何与多个实例一起使用?甚至可以使用Ehcache创建类似共享缓存的内容吗? 问题答案: 我是否需要其他服务器进行Ehcache? 您可以在独立模式下使用Ehcache。在这种拓扑中,缓存数据保存在应用程序
本文向大家介绍详解Spring整合Ehcache管理缓存,包括了详解Spring整合Ehcache管理缓存的使用技巧和注意事项,需要的朋友参考一下 前言 Ehcache 是一个成熟的缓存框架,你可以直接使用它来管理你的缓存。 Spring 提供了对缓存功能的抽象:即允许绑定不同的缓存解决方案(如Ehcache),但本身不直接提供缓存功能的实现。它支持注解方式使用缓存,非常方便。 本文先通过Ehc
我发现了很多关于禁用Thymeleaf for development模板缓存的帖子,但我无法让它正常工作。我的堆栈: Spring靴1.5。7 Spring靴开发工具 百里香 IntelliJ IDEA Ultimate 2017.2 我不需要自动重建:我已经将IntelliJ中的“重建”命令映射到“恢复”命令,这对于热交换Java类非常有效。然而,css和html模板仍然只显示更改,如果我重新