`
matt.u
  • 浏览: 129797 次
  • 性别: Icon_minigender_1
  • 来自: CQ
社区版块
存档分类
最新评论

通过注解将Spring和Ehcache集成

阅读更多
    以前有个项目springmodules,里面有个cache模块可以集成Spring和多种Cache,很可以这个项目只支持Spring2.5.x,而且没怎么更新了,代码库也从dev.java.net转到了github。

    无意中发现了hcache-spring-annotations项目,地址http://code.google.com/p/ehcache-spring-annotations/,可以通过注解让应用透明支持缓存,虽然目前只能用ehcache,但一定范围内也足够使用了,配置很简单,详情可见其网站。

    不过配置完后老是不生效,最后才发现问题:
    1、ehcache:annotation-driven只查找本配置文件当中的bean里面是否有Cachable(未测试import配置文件的情况)。
    2、使用ehcache:annotation-driven后,bean里面的自动注解会失效。
分享到:
评论
9 楼 awdxzc 2011-03-14  
servlet里面的方法不能用这种方式被缓存吧? 不是要被AOP拦截吗?
8 楼 awdxzc 2011-01-24  
matt.u 写道
虽然你的service是被spring管理了,但是由于你是Service自己调自己的方法,所以此时应该直接使用的this来调用方法,而没有使用代理,所以无法使用缓存。

Controller调Service的情况就不一样了,Service是由Spring注入的,所以可以被aop。

谢谢 了解其中原因了。获益良多。谢谢
7 楼 matt.u 2011-01-13  
虽然你的service是被spring管理了,但是由于你是Service自己调自己的方法,所以此时应该直接使用的this来调用方法,而没有使用代理,所以无法使用缓存。

Controller调Service的情况就不一样了,Service是由Spring注入的,所以可以被aop。
6 楼 awdxzc 2011-01-12  
matt.u 写道
哦。想起一个限制条件。因为该项目是利用aop机制和代理机制来为方法添加缓存,所以要看你想缓存的方法是否在spring的管理范围内。


这2个方法都是在service层,一个方法在另外一个方法里面被循环调用罢了,我想让assemblePeerForOtherFields被循环调用的时候实现注释形式缓存。可是不行,只能在其调用方法assemblePeersForOtherFields(多一个s,命名不是很好)的时候给缓存,而这个方法是controller层调用的。奇怪的事情发生了,如果我在cotroller层循环调用assemblePeerForOtherFields 就能实现缓存。在assemblePeersForOtherFields(在service层)循环调用就无法实现缓存。 不知道为什么
5 楼 matt.u 2011-01-08  
哦。想起一个限制条件。因为该项目是利用aop机制和代理机制来为方法添加缓存,所以要看你想缓存的方法是否在spring的管理范围内。
4 楼 matt.u 2011-01-08  
按照理论说在assemblePeerForOtherFields方法上应该没有问题。你只有自己调试下。
我感觉这个项目还有点不太成熟,偶尔会碰到些问题,但是并没给出警告或者提示信息。需要自己去调试。
3 楼 awdxzc 2011-01-06  
对于对象怎么缓存?
2 楼 awdxzc 2011-01-06  
还有回答你的问题import导入的是有效的  我就不明白缓存难道在方法里面被循环调用就不能起作用?
1 楼 awdxzc 2011-01-06  
请问个问题,为什么
@Cacheable(cacheName = "webserviceCache", keyGeneratorName="infoKeyGenerator")
	public List<Competitors> assemblePeersForOtherFields(List<Competitors> nativeCompetitorsList,String region)
	{
List<Competitors> resultCompetitorss = new ArrayList<Competitors>();
for(Competitors competitor : nativeCompetitorsList)
competitor = assemblePeerForOtherFields(competitor,region);
resultCompetitorss.add(competitor);
		}
		
		return resultCompetitorss;
	}

这样就能被缓存执行,而我的缓存建立在方法assemblePeerForOtherFields上就不行呢?
@Cacheable(cacheName = "webserviceCache", keyGeneratorName="infoKeyGenerator")
	public Competitors assemblePeerForOtherFields(Competitors competitor,String region)
	{ 。。。。。。}

相关推荐

    Spring+Ehcache集成

    **Spring与Ehcache集成详解** 在现代Java应用开发中,缓存技术是提升系统性能的关键环节。Ehcache作为一款流行的开源缓存解决方案,因其轻量级、高性能和易于集成的特点,常被广泛应用于Spring框架中。本篇文章将...

    spring3整合EhCache注解实例

    spring3整合EhCache注解实例

    Ehcache集成Spring的使用(转载)

    这篇博客将深入探讨如何将 Ehcache 集成到 Spring 应用中,以及如何使用 Spring AOP 实现计算结果的缓存。 首先,集成 Ehcache 到 Spring 需要以下步骤: 1. **引入依赖**: 在 Maven 或 Gradle 的配置文件中添加 ...

    spring + ehcache + redis两级缓存

    在Spring中,我们可以配置Ehcache作为缓存 provider,通过注解或XML配置来启用和管理缓存。 **Redis** 是一个高性能的键值数据库,常被用作分布式缓存系统。相比于Ehcache,Redis支持更丰富的数据结构(如字符串、...

    spring+ehcache示例整合Demo

    在这个"spring+ehcache示例整合Demo"中,我们将会探讨如何将Ehcache集成到Spring框架中,以实现高效的缓存管理。 首先,我们需要在项目的`pom.xml`文件中引入Ehcache和Spring的依赖。Ehcache通常使用的是`org....

    Spring 与Ehcache实现基于方法的缓存

    本篇文章将详细探讨如何在Spring框架中集成并实现基于方法的缓存机制,利用Ehcache来优化数据访问。 首先,我们需要理解Spring的AOP概念,AOP允许我们定义横切关注点,如日志、事务管理或,正如在这个案例中,缓存...

    Spring与ehcache结合使用

    通过上述步骤,我们可以在Spring项目中成功集成ehcache,并利用Spring提供的缓存注解来方便地管理缓存。这种集成不仅可以显著提高应用的性能,还能简化代码的复杂度,使得开发者能够更加专注于业务逻辑的编写。希望...

    spring+ehcache demo

    【Spring + Ehcache 整合应用详解】 ...通过学习和实践这个示例,开发者可以深入了解Spring与Ehcache的集成,以及如何利用缓存提升应用程序的性能。同时,了解如何管理和配置数据库连接,也是Java开发中的基础技能。

    spring+ehcache

    我们将通过JUnit进行测试,确保整合过程正确无误。 **一、Spring与Ehcache的整合** 1. **Ehcache介绍** Ehcache是一个开源的、基于内存的分布式缓存系统,能够存储对象并提供高速访问。它支持缓存数据的持久化,...

    spring整合EhCache 的简单例子

    - Spring 提供了对缓存管理的支持,通过`@Cacheable`、`@CacheEvict`和`@CachePut`等注解实现缓存操作。 - 首先,我们需要在Spring配置文件中声明EhCache的bean,包括`CacheManager`、`Cache`以及`...

    spring3.2+ehcache 注解使用

    通过这种方式,我们可以在Spring 3.2应用中轻松地集成和使用Ehcache,从而提高应用程序的性能。请记住,合理设计缓存策略对于优化应用程序至关重要,避免缓存过多无用数据,同时要考虑到缓存一致性问题。在实际开发...

    spring+ehcache完整示例demo

    这个"spring+ehcache完整示例demo"应该包含了以上所有步骤,开发者可以通过阅读源代码,了解每个部分的实现细节,进一步理解Spring和Ehcache的集成。在实际项目中,根据业务需求调整缓存策略,优化系统性能,是使用...

    spring整合ehCache

    Spring整合EhCache是将EhCache作为一个缓存解决方案与Spring框架进行集成,以提高应用程序的性能和效率。EhCache是一款开源、轻量级的Java缓存库,广泛用于缓存中间件,以减少数据库访问,提升系统响应速度。 在...

    spring2.5整合ehcache2.0使用

    在本文中,我们将深入探讨如何将Spring 2.5与Ehcache 2.0进行集成...在EhCacheDemo项目中,你将找到一个完整的示例,包括所有必要的配置文件、Java代码和测试用例,这将帮助你更好地理解和实践Spring与Ehcache的集成。

    Ehcache(一): Spring + Ehcache开场白

    本文将深入探讨Spring与Ehcache的整合,为后续的系列文章打下基础。 首先,我们要了解Spring对缓存的支持。Spring框架自3.1版本起引入了抽象的缓存管理机制,允许开发者选择不同的缓存实现,如Ehcache、Guava Cache...

    Struts2+Spring+Hibernate+Ehcache+AJAX+JQuery+Oracle 框架集成用户登录注册Demo工程

    1.通过google ehcache-spring-annotatios.jar自动注解方式实现整合Spring+Ehcache。 2.Action里通过struts2-spring-plugin.jar插件自动根据名字注入。 3.Ajax无刷新异步调用Struts2,返回Json数据,以用户注册为例。...

    spring boot 集成activemq Datajpa Ehcache

    在IT行业中,Spring Boot是一个非常流行的微服务框架,它简化了Spring应用的初始搭建以及配置工作,使得开发者能够...对于开发者而言,深入理解这些技术的集成和使用,将对提升开发效率和优化系统架构有着显著的帮助。

    Spring+EhCache缓存实例

    本文将深入探讨Spring如何与EhCache协同工作,以及如何在实际项目中实施和配置。 **1. EhCache简介** EhCache是Java的一个开源、高性能、可扩展的缓存库,它支持内存和磁盘存储,可以进行分布式缓存。EhCache提供...

    spring3 hibernate4 ehcache实例

    2. **Ehcache集成** 首先,引入Ehcache的jar包,然后在Spring配置文件中声明EhcacheManagerFactoryBean,配置Ehcache的缓存策略,如缓存大小、过期时间等。Ehcache的缓存可以分为内存和磁盘两部分,可以根据需求...

    在Spring+Hibernate集成环境中使用EhCache缓存

    在Spring和Hibernate集成的开发环境中,使用EhCache作为缓存机制是常见的优化策略,它能够显著提升应用程序的性能和响应速度。EhCache是一款开源的、高性能的、内存级的分布式缓存解决方案,适用于Java应用程序。...

Global site tag (gtag.js) - Google Analytics