spring @Cacheable相关问题 [问题点数:100分]

Bbs3
本版专家分:752
Blank
黄花 2014年3月 移动开发大版内专家分月排行榜第二
结帖率 84.85%
Bbs3
本版专家分:752
Blank
黄花 2014年3月 移动开发大版内专家分月排行榜第二
spring @cacheable注解
[code="java"]rnrn @Cacheable(value="articleCache")rn public List getHotArticles();rn[/code]rn有这么一个mybaitis查询方法,每次只返回五条数据,用了@<em>cacheable</em>注解进行缓存后页面显示不止五条了.....不使用缓存又是对的,该怎么解决呢
Spring @Cacheable Spel 应用
最近在用 Spring + Hibernate 做项目.rnrn涉及到 数据库的时候,使用缓存 提高效率。rnrn但 Spring 的 缓存机制没用好。rnrn就此想请教下怎么用。rnrn[code=java]rn @Cacheable(value = "$ehcache_name", condition = "#result != null")rn public T get(PK id) rn return this.getDao().get(id);rn rn[/code]rnrn做个 虚 AbstractServicernrn我是抄别人的,希望#result 能得到函数返回值,如果不是 null 就进入缓存。rn但是实际上,加了 condition 之后,所有的都没进入缓存,去掉 condition,就行了。rnrn请问 想实现我的想法的话,condition 该怎么写?rnrnrn还有个<em>问题</em>:rn[code=java]rn @Cacheable(value = "$ehcache_name", key = "#this.getClass().getSimpleName() + #id", condition = "#result != null")rn public T get(PK id) rn T result = this.getDao().get(id);rn return result;rn rn[/code]rnrn如果我都只是用 AbstractService.get 方法的话,缓存 的 value 和 key 都是一样的。rnClass User id = 1rnClass Title id = 1rn这样的话,缓存好像会混淆的呀。rn希望 key 能 根据当前所在类变得不一样,怎么弄?rn比如:写的取得当前所在类的类名?
Spring缓存管理(Cacheable)
Spring的缓存管理可谓是相当的方便。与其他功能的风格一致,同样的在需要管理的地方添加一个注解,可以是方法,也可以是类。 使用Spring Cache需要我们做两方面的事: 声明某些方法使用缓存 配置Spring对Cache的支持 和Spring对事务管理的支持一样,Spring对Cache的支持也有基于注解和基于XML配置两种方式。下面我们先来看看基于注解的方式。 基于注解的支持 Spri...
Spring 缓存注解@Cacheable的用法
在Spring中通过获取MemCachedClient来实现与memcached服务器进行数据读取的方式。不过,在实际开发中,我们往往是通过Spring的@Cacheable来实现数据的缓存的,所以,本文给大家详细介绍一下@Cacheable的用法。首先,在使用@Cacheable之前,我们要做好准备工作。 第一步:要导入相应的jar包。
Spring 缓存注解 @Cacheable的用法
在<em>spring</em>中通过获取MemCachedClient来实现与memcached服务器进行数据读取的方式。不过,在实际开发中,我们往往是通过Spring的@Cacheable来实现数据的缓存的,所以,本文给大家详细介绍一下@Cacheable的用法。 首先,在使用@Cacheable之前,我们要做好准备工作。 第一步:要导入相应的jar包    &amp;lt;classpathentry ki...
Spring @cacheable注解实现的缓存
Spring @<em>cacheable</em>注解实现的缓存
spring使用注解@Cacheable配置问题
缓存使用的是redis,通过注解方式配置了缓存@Cacheable,但是当redis服务挂掉的时候,会报以下错误,有没有可能做到,redis挂掉的时候不去连redis而是直接去连数据库??rn求帮忙rn[code="java"]rn严重: Servlet.service() for servlet [<em>spring</em>] in context with path [/redis] threw exception [Request processing failed; nested exception is org.<em>spring</em>framework.data.redis.RedisConnectionFailureException: Cannot get Jedis connection; nested exception is redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool] with root causernjava.net.ConnectException: Connection refused: connectrn at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)rn at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:85)rn at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)rn at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)rn at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)rn at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)rn at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)rn at java.net.Socket.connect(Socket.java:579)rn at redis.clients.jedis.Connection.connect(Connection.java:129)rn at redis.clients.jedis.BinaryClient.connect(BinaryClient.java:69)rn at redis.clients.jedis.BinaryJedis.connect(BinaryJedis.java:1665)rn at redis.clients.jedis.JedisPool$JedisFactory.makeObject(JedisPool.java:72)rn at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:1148)rn at redis.clients.util.Pool.getResource(Pool.java:20)rn at org.<em>spring</em>framework.data.redis.connection.jedis.JedisConnectionFactory.fetchJedisConnector(JedisConnectionFactory.java:93)rn at org.<em>spring</em>framework.data.redis.connection.jedis.JedisConnectionFactory.getConnection(JedisConnectionFactory.java:147)rn at org.<em>spring</em>framework.data.redis.connection.jedis.JedisConnectionFactory.getConnection(JedisConnectionFactory.java:41)rn at org.<em>spring</em>framework.data.redis.core.RedisConnectionUtils.doGetConnection(RedisConnectionUtils.java:81)rn at org.<em>spring</em>framework.data.redis.core.RedisConnectionUtils.getConnection(RedisConnectionUtils.java:53)rn at org.<em>spring</em>framework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:173)rn at org.<em>spring</em>framework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:153)rn at org.<em>spring</em>framework.data.redis.cache.RedisCache.get(RedisCache.java:89)rn at org.<em>spring</em>framework.cache.interceptor.CacheAspectSupport.inspectCacheables(CacheAspectSupport.java:310)rn at org.<em>spring</em>framework.cache.interceptor.CacheAspectSupport.execute(CacheAspectSupport.java:198)rn at org.<em>spring</em>framework.cache.interceptor.CacheInterceptor.invoke(CacheInterceptor.java:66)rn at org.<em>spring</em>framework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)rn at org.<em>spring</em>framework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)rn at org.<em>spring</em>framework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)rn at org.<em>spring</em>framework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:90)rn at org.<em>spring</em>framework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)rn at org.<em>spring</em>framework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:622)rn at com.jzk.service.impl.UserServiceImpl$$EnhancerByCGLIB$$77ac629f.selectById()rn at com.jzk.controller.UserController.initEdit(UserController.java:63)rn at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)rn at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)rn at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)rn at java.lang.reflect.Method.invoke(Method.java:606)rn at org.<em>spring</em>framework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:176)rn at org.<em>spring</em>framework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:436)rn at org.<em>spring</em>framework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:424)rn at org.<em>spring</em>framework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923)rn at org.<em>spring</em>framework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)rn at org.<em>spring</em>framework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)rn at org.<em>spring</em>framework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778)rn at javax.servlet.http.HttpServlet.service(HttpServlet.java:624)rn at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)rn at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)rn at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)rn at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)rn at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)rn at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)rn at org.<em>spring</em>framework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)rn at org.<em>spring</em>framework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)rn at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)rn at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)rn at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)rn at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)rn at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)rn at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)rn at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)rn at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)rn at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)rn at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423)rn at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079)rn at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:620)rn at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318)rn at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)rn at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)rn at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)rn at java.lang.Thread.run(Thread.java:744)rnrn[/code]
关于spring 的@cacheable 注解 无法生效的问题
<em>问题</em>: 类似于 <em>spring</em> mvc @Cacheable注解<em>问题</em>            我对Service层中的一个private 方法B上添加了@<em>cacheable</em> 注解,这个方法又一些比较繁琐但是只需要执行一次的逻辑(init)。目的是希望在第一次调用该方法后,只有的调用只需要访问缓存即可。但是发现每次有方法调用这个私有方法时,还是会反复执行方法中的操作,颇low。
Spring @Cacheable的缓存数据手动清理问题
Spring Cache 本身完美支持缓存的CRUD. 可以通过注解来实现缓存的清理, 详见: org.<em>spring</em>framework.cache.annotation.CacheEvict. 此处不赘述.    假如, 我们希望手动清理@Cacheable的缓存数据呢? 为什么有这样low的需求, 这么变态的需求? 运行中的系统总有千奇百怪的<em>问题</em>, 总有时候你可能需要手动清理缓存.  ...
Spring Cacheable标签 内部调用失效问题
如果你只是想使用一个轻量级的缓存方案,那么可以尝试使用Spring cache方案。那么在使用<em>spring</em> @Cacheable注解的时候,要注意,如果类A的方法f()被标注了@Cacheable注解,那么当类A的其他方法,例如:f2(),去直接调用f()的时候,@Cacheable是不起作用的,原因是@Cacheable是基于<em>spring</em> aop代理类,f2()属于内部方法,直接调用f()时,是不
Blobs are not cacheable问题
我用的Hibernate3.13版本以及oracle数据库,在添加Blobs数据的时,先NEW了一个Byte数组,然后用session更新的方法去写入Blob字段,可是最后返回时候出现Blobs are not <em>cacheable</em>。有哪位高手熟悉的,麻烦指导下!
@Cacheable缓存问题记录
java.lang.IllegalArgumentException: Null key returned for cache operation (maybe you are using named params on classes without debug info?) Builder[public final java.util.List com.sun.proxy.$Proxy132....
在 Spring 3.1 中使用 @Cacheable 实现缓存
2019独角兽企业重金招聘Python工程师标准&gt;&gt;&gt; ...
转:Spring 缓存注解@Cacheable的用法
原文请移步:https://blog.csdn.net/qq_17555933/article/details/51320800 Spring 缓存注解@Cacheable的用法 2016年05月05日 10:33:15 阅读数:36120 在Spring中通过获取MemCachedClient来实现与memcached服务器进行数据读取的方式。不过,在实际开发中,我们往往...
spring boot @Cacheable 缓存读取错误
![图片说明](https://img-ask.csdn.net/upload/201903/04/1551673055_175554.jpg)rnrnrn具体代码rnhttps://gitee.com/manshiguang/<em>spring</em>-boot.gitrnrnrn![图片说明](https://img-ask.csdn.net/upload/201903/04/1551690068_564900.png)rnrnkey值不同,但对应的value值已经被修改为最后一个查询的值了
spring + redis使用@Cacheable,@CachePut,@CacheEvict
<em>spring</em> + redis使用@Cacheable,@CachePut,@CacheEvict详细步骤
Spring Boot 入门 - 进阶篇(5)- 数据缓存(@Cacheable)
缓存可以缓解数据库访问的压力,Spring自身不提供缓存的存储实现,需要借助第三方,比如JCache、EhCache、Hazelcast、Redis、Guava等。Spring Boot可以自动化配置合适的缓存管理器(CacheManager),默认采用的是ConcurrentMapCacheManager(java.util.concurrent.ConcurrentHashMap)。 [...
使用spring自带的Cacheable注解处理Redis缓存
使用<em>spring</em>自带的Cacheable注解处理Redis缓存
@Cacheable的实现原理
如果你用过Spring Cache,你一定对这种配置和代码不陌生: &lt;cache:annotation-driven cache-manager="cacheManager"proxy-target-class="true"order="1"/&gt; @Cacheable(...
Spring @Cacheable注解类内部调用失效问题
如果你只是想使用一个轻量级的缓存方案,那么可以尝试使用Spring cache方案。但是,在使用Spring @Cacheable注解的时候,要注意,如果类A的方法f()被标注了@Cacheable注解,那么当类A的其他方法,例如:f2(),去直接调用f()的时候,@Cacheable是不起作用的,原因是@Cacheable是基于Spring AOP代理类,f2()属于内部方法,直接调用f()时,是
Spring Boot注解@Cacheable与Redis缓存关于LocalDateTime(反)序列化问题
由于项目中使用Spring Boot 2.0,以及需要将包含LocalDateTime的对象通过注解@Cacheable存入缓存。若不做配置,存入缓存会成功(redis数据类型为HEX,不便阅读),取出对象时则会报错反序列化失败。下面是具体解决办法: 需要增加一个修改RedisCacheManager序列化格式的RedisConfig类,包含LocalDateTime类型属性不需要添加任何注解。...
Spring mvc的相关问题
一般情况下,简单的<em>spring</em> mvc除了web.xml应该包含三个主要的.xml文件,分别是数据库配置文件,以hibernate为例: http://www.w3.org/2001/X
Spring相关问题整理
1.什么是Spring? Spring是一个开源的Java EE开发框架。Spring框架的核心功能可以应用在任何Java应用程序中。Spring框架的目标是使得Java EE应用程序的开发更加简捷。 2.Spring有哪些优点? 2.1&amp;amp;amp;gt;轻量级:Spring在大小和透明性方面绝对属于轻量级的。 2.2&amp;amp;amp;gt;控制反转(IOC):Spring使用控制反转技术实现了松耦合。依赖被注入到...
Spring 相关问题(一)
一、 Spring dataSource 配置 (数据源配置) 在Spring 的配置文件中,关于dataSource 的配置,就我个人知道的方法大致可以有三 种:   1。 一般的配置方法,直接在配置中指定其值。具体的例子我们参照Mysql 的配置如下: &amp;lt;bean id=&quot;datasource&quot; class=&quot;org.<em>spring</em>framework.jdbc.datasou...
Spring实例化相关问题
1、当Controller或者Service使用new来实例化时,能不能正常调用使用Resource声明的变量 不能,使用new来实例化时,所有使用Resource声明的变量均为null 转载于:https://www.cnblogs.com/fengzhentian/p/4554823.html...
Spring相关问题记录
Question 1:      在整合<em>spring</em>mvc时,要返回json格式的数据出现<em>问题</em>org.<em>spring</em>framework.web.util.NestedServletException:Handler dispatch failed; nested exception is java.lang.NoSuchMethodError Answer:        一般都是通过 @Re...
Spring相关问题
一: Spring IOC 和AOP 回答 (可与设计模式一起回答) Spring中用到了 单例模式(默认是单例,更改多例 scope="prototype"); 工厂模式和反射;代理模式; IOC: 1-1 控制反转,利用工厂模式将对象交给容器(applicationContext)管理, 只要在<em>spring</em>配置文件中配置相应的bean 和相应的属性(反射),让<em>spring</em> 容器来生成类的实...
Spring Aop相关问题
先上代码,对代码进行详细介绍然后再引入<em>相关</em>的概念<em>问题</em>。 组建代码的时候出现了许多<em>问题</em>:例如:Error occured processing XML 'org/<em>spring</em>framework/aop/aspectj/AspectJMethodBeforeAdvice'. See Error Log for more details。对于这个<em>问题</em>是缺少三种jart包,分别是Aspectjrt,
spring相关问题
什么是<em>spring</em> ? Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架. <em>spring</em>的设计思想是,单例模式和工厂模式 一、解释一下Dependency injection(DI依赖注入)和IOC(Inversion of control控制反转)? 当一个调用者需要被另一个调用者协助时,创建被调用者的工作不再由调用者来完成,称为控制反转。创建调用者实例的工作通常由sp...
spring 相关问题
<em>spring</em>加载hibernate映射文件的几种方式 :http://blog.csdn.net/huiwenjie168/article/details/7013618
Spring的一些相关问题
1、Spring的核心组件有哪些? Spring的核心组件有三个:Core、Context和Bean。 Bean:在Spring的org.<em>spring</em>framework.beans包下,这个包下的所有类主要解决了3件事:Bean的定义、Bean的创建及对Bean的解析。Bean的创建是典型的工厂模式,顶级接口是BeanFactory。 Context:在Spring的org.<em>spring</em>fr...
spring相关问题
1.在引包的时候为什么要引入commons-logging.jar? commons-logging.jar:它是一个更上层的一个抽象,叫日志抽象,如果你配了有log4j,它就会去调用log4j,如果没有就去找jdk的log,如果还是没有,他就会有自己的一套调用,用这个的好处就
spring boot相关问题
[url]http://blog.csdn.net/column/details/<em>spring</em>-boot.html[/url]
Spring相关问题
1.什么是<em>spring</em>框架?<em>spring</em>框架有哪些主要模块? <em>spring</em>框架是一个为Java应用程序的开发提供了综合、广泛的基础性支持的Java平台。<em>spring</em>帮助开发者解决了开发中基础性<em>问题</em>,使得开发人员可以专注与应用程序的开发。<em>spring</em>本身亦是按照设计模式精心打造,这使得我们可以在开发环境中安心的集成Spring框架,不必担心Spring是如何在后台进行工作的。 Spring框架至今已...
spring 拦截器相关问题
HandlerInterceptor是<em>spring</em>MVC项目中的拦截器,它拦截的目标是请求的地址,比MethodInterceptor先执行。 MethodInterceptor使用包名匹配不能拦截Controller时,使用使用如下方式 &amp;lt;bean class=&quot;org.<em>spring</em>framework.aop.framework.autoproxy.BeanNameAutoProx...
Spring boot相关问题
1. 配置Context path/Port,application.properties中 server.contextPath=/MYPATH server.port=12378 2. 配置Profile VM参数:-D<em>spring</em>.profiles.active=dev 或 application.properties中:<em>spring</em>.profiles.active=MY_...
Spring Freemarker 相关问题
[code=Java]rnprivate Configuration conf;rnrn public void setFreeMarkerConfigurer(rn FreeMarkerConfigurer freeMarkerConfigurer) rn //<em>spring</em>的FreeMarkerConfigurer rn this.conf = freeMarkerConfigurer.getConfiguration();rn rnrn @Transactional(readOnly = true)rn public void index(CmsSite site, String tpl, Map data)rn throws IOException, TemplateException rn long time = System.currentTimeMillis();rn File f = new File(getIndexPath(site));rn File parent = f.getParentFile();rn if (!parent.exists()) rn parent.mkdirs();rn rn Writer out = null;rn try rn out = new OutputStreamWriter(new FileOutputStream(f), UTF8);rn Template template = [color=#FF0000]conf.getTemplate(tpl);[/color]rn template.process(data, out);rn finally rn if (out != null) rn out.flush();rn out.close();rn rn rn time = System.currentTimeMillis() - time;rn log.info("create index page, in ms", time);rn rn[/code]rnrn我想知道在哪注入freemarker实例了。类文件里没有。 配置文件中也没有找到。rn请知道的朋友告诉一下这个是怎么配置的,谢谢。 如果有<em>相关</em>的资料就更好了。 感谢!
Spring 和 ibatis的相关问题
在同时用到<em>spring</em>和ibatis的时候 rn在sqlMapConfig.xml和<em>spring</em>的配置文件application.xml中都有写到连接数据库的参数rn如 driverClass url username password rn可不可以不要ibatis的配置文件了???rn求解释。。。!!
spring mvc相关问题
1: 基于注解的SpringMVC简单介绍 2: <em>spring</em>组件扫描&lt;context:component-scan/&gt;使用详解 3: <em>spring</em>Mvc 注解配置例子 转载于:https://www.cnblogs.com/zhangwei595806165/p/4396296.html...
spring mvc 相关问题
@RequestMapping("/demoMethod2/name")rn public ModelAndView demoMethod2(@PathVariable("name") String name) rn System.out.println("Hello " + name);rn Map map = new HashMap();rn map.put("userName", name);rn return new ModelAndView("/index", map);rn rnrn小弟新学<em>spring</em> mvc,name参数是有地址中获取,如果地址中没有name位置的值则报错,如何才能做到动态的,如果有则获取值,没有则是不填,或者默认值呢!
springmvc+redis缓存问题(添加@Cacheable无效问题
搭建时,遇到@Cacheable等注释无效,未将数据存入redis中,现将<em>问题</em>记录下解决方案: 主要的<em>相关</em>配置如下: 在applicationContext.xml中配置了redis<em>相关</em>配置,                                                                                   
@Cacheable缓存注解
运行流程 1.方法运行之前,先去查询Cache(缓存组件),按照cacheNames指定的名字获取(CacheManager先获取相应的缓存),第一次获取缓存如果没有Cache组件会自动创建。 2.去Cache中查找缓存的内容,使用一个key,默认就是方法的参数,key是按照某种策略生成的,默认是使用keyGenerator生成的,默认使用SimpleKeyGenerator生成key。 Simp...
Cacheable注解使用详解
2019独角兽企业重金招聘Python工程师标准&gt;&gt;&gt; ...
@Cacheable 指定缓存位置
@Cacheable 可以自动生成缓存,一次在开发中使用使用该注解,本来以为重启后缓存就消失了,可是重启后,原来缓存的值还在,后来查找redis,发现缓存到redis中,如果我们不想持久化,仅仅缓存到内存,可以通过实现CacheManager,指定缓存的位置,指定ConcurrentMapCache @Cacheable(value = "sampleCacheTest", unless = ...
请教:Clobs are not cacheable异常
我在将原来的一个VARCHAR2字段更改为CLOB字段后,无论查看还是保存该表的数据都报上面的错误,网上也没有搜索到解决办法,请教各位高手该如何解决? rn环境: rnHIBERNATE3 rnWEBLOGIC 8.1 rnORACLE9i rnWINDOWS2000 rnrn错误信息: rnrnERROR [ExecuteThread: '14' for queue: 'weblogic.kernel.Default'] (BulletinAction rn.java:249) - java.lang.UnsupportedOperationException: Clobs are not <em>cacheable</em> rnjava.lang.UnsupportedOperationException: Clobs are not <em>cacheable</em> rnat org.hibernate.type.ClobType.disassemble(ClobType.java:83) rnat org.hibernate.type.TypeFactory.disassemble(TypeFactory.java:338) rnat org.hibernate.cache.entry.CacheEntry.(CacheEntry.java:37) rnat org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java: rn124) rnat org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.j rnava:492) rnat org.hibernate.loader.Loader.doQuery(Loader.java:411) rnat org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Lo rnader.java:206) rnat org.hibernate.loader.Loader.loadEntity(Loader.java:1271) rnat org.hibernate.loader.entity.EntityLoader.load(EntityLoader.java:141) rnat org.hibernate.loader.entity.EntityLoader.load(EntityLoader.java:126) rnat org.hibernate.loader.entity.BatchingEntityLoader.load(BatchingEntityL rnoader.java:81) rnat org.hibernate.persister.entity.BasicEntityPersister.load(BasicEntityP rnersister.java:2496) rnat org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(D rnefaultLoadEventListener.java:387) rnat org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEv rnentListener.java:368) rnat org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEven rntListener.java:166) rnat org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEven rntListener.java:140) rnat org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEv rnentListener.java:119) rnat org.hibernate.impl.SessionImpl.immediateLoad(SessionImpl.java:577) rnat org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyIn rnitializer.java:59) rnat org.hibernate.proxy.AbstractLazyInitializer.getImplementation(Abstrac rntLazyInitializer.java:80) rnat org.hibernate.proxy.CGLIBLazyInitializer.intercept(CGLIBLazyInitializ rner.java:134) rnat com.mtm.wsjdzf.po.BulletinBoard$$EnhancerByCGLIB$$7ce70752.getDtExecu rnte() rnat com.mtm.wsjdzf.action.xzbg.BulletinAction.browBulletin(BulletinAction rn.java:206) rnat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) rnat sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. rnjava:39) rnat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces rnsorImpl.java:25) rnat java.lang.reflect.Method.invoke(Method.java:324) rnat org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchActio rnn.java:280) rnat org.apache.struts.actions.DispatchAction.execute(DispatchAction.java: rn216) rnat org.apache.struts.action.RequestProcessor.processActionPerform(Reques rntProcessor.java:484) rnat org.apache.struts.action.RequestProcessor.process(RequestProcessor.ja rnva:274) rnat org.apache.struts.action.ActionServlet.process(ActionServlet.java:148 rn0) rnat org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:506) rnat javax.servlet.http.HttpServlet.service(HttpServlet.java:740) rnat javax.servlet.http.HttpServlet.service(HttpServlet.java:853) rnat weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run rn(ServletStubImpl.java:971) rnat weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm rnpl.java:402) rnat weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:2 rnat weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.ja rnva:27) rnat com.mtm.wsjdzf.util.CharacterEncodingFilter.doFilter(CharacterEncodin rngFilter.java:46) rnat weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.ja rnva:27) rnat weblogic.servlet.internal.WebAppServletContext$ServletInvocationActio rnn.run(WebAppServletContext.java:6356) rnat weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authenticate rndSubject.java:317) rnat weblogic.security.service.SecurityManager.runAs(SecurityManager.java: rn118) rnat weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe rnrvletContext.java:3635) rnat weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2585) rnat weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197) rnat weblogic.kernel.ExecuteThread.runExecuteThread.java:170)
@Cacheable 操作异常处理
这里的处理在日志中打印出错误信息,但是放行,保证redis服务器出现连接等<em>问题</em>的时候不影响程序的正常运行,使得能够出<em>问题</em>时不用缓存 @Bean @Override public CacheErrorHandler errorHandler() { CacheErrorHandler cacheErrorHandler = new CacheErrorHand...
@Cacheable的使用总结
 Cacheable的使用总结  @Cacheable(value = &quot;PERSON&quot;,key = &quot;#tagId+'_'+#zz&quot;) public List&amp;lt;Person&amp;gt; getPersonByTagid(Long tagId,String zz) 其中value表示该方法返回的参数的缓存存在那个Cache里(即为缓存块的名字) 缓存结果以一个键值对存放在缓存中,注解中k...
@Cacheable注解不生效
在同一个类中,一个方法调用另外一个有注解(比如 @Cacheable,@Async,@Transational)的方法,注解是不会生效的。 原因: 通过Spring注解标识的方法,在Spring加载类的时候会生成代理类,通过代理类调用原本类的方法。 而同一个类中,方法间的调用并不会通过代理类,而是直接调用。 ...
Cacheable序列化配置
import org.<em>spring</em>framework.cache.CacheManager; import org.<em>spring</em>framework.cache.annotation.CachingConfigurerSupport; import org.<em>spring</em>framework.cache.annotation.EnableCaching; import org.<em>spring</em>fram...
Spring相关
Spring 导航 一. Spring家族的介绍 二. IOC 三. AOP 四. AOP的实现原理 一. Spring家族的介绍 1.1 如何选择框架 对应的开发者社区是否有名,是否活跃 框架的模块是否迭代 1.2 家族体系 主要的部分: Spring Core Spring Data Spring Boot Spring Security Spring Session Sp...
spring相关
1.经常听到java中工厂模式的应用,但总是一知半解,下面有几篇讲的比较好的链接: 概念:根据调用数据返回某一个类的实例 http://hi.baidu.com/youxiandeboshi/blog/item/171e29513e02932043a75b29.html 2.<em>spring</em>数据库连接,写的挺详细的 http://blog.csdn.net/sslaowan/archive/2...
记录一个spring 相关问题
记录一个<em>spring</em> <em>相关</em>的<em>问题</em> 这个两天写个小demo,写test的时候发现个<em>问题</em>,形如如下代码执行多次可能会抛出异常,不一定出现。 @Test @Commit public void test1(){ logger.info("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"); User user = new User(); ...
使用Spring,应用服务器相关问题
初学Spring,有一<em>问题</em>请教.rn如果我用Spring作为业务层的开发,而且业务层打算运行在一个独立的服务器上.那么在这台服务器上要安装什么容器吗?rn像EJB的话,安装JBOSS之类的作为应用服务器.
springspringmvc相关问题合集
1、用<em>spring</em>mvc配置完视图解释器后,直接访问项目的时候,显示404,但是其接口和页面都可以显示,应该是视图解释器没有截获到 / 。配置如下&amp;lt;bean class=&quot;org.<em>spring</em>framework.web.servlet.view.InternalResourceViewResolver&quot;&amp;gt; &amp;lt;property name=&quot;prefix&quot; value=&quot;/&quot;...
spring 调用存储过程的相关问题
请问<em>spring</em> 调用存储过程的好处以及坏处,哪位朋友能帮我分析下。rn越详细越好rn谢谢~~~
Spring Boot 配置相关问题
SpringBoot默认配置: 每个文件的配置最大为1Mb,单次请求的文件的总数不能大于10Mb。 修改方法: application.properties中修改: # Spring Boot 1.3.x或者之前 multipart.maxFileSize=100Mb multipart.maxRequestSize=1000Mb # Spring Boot 1.4.x <em>spring</em>.http....
两个与spring事务相关问题
    有些<em>spring</em><em>相关</em>的知识点之前一直没有仔细研究:比如<em>spring</em>的事务,并不是没有使用,也曾经简单的在某些需要事务处理的方法上通过增加事务注解来实现事务功能,仅仅是跟随使用(甚至并未测试过事务的正确性),至于如何在项目中配置事务,如何才能将事务写正确,事务的其它的一些原理性的东西从未花时间研究。最近同事正好抛出了一个<em>问题</em>,借此机会学习了一遍。   <em>问题</em>一:增加了readOnly=t...
Spring 框架及相关问题记录
1、关于扫描器basePackage 模糊匹配 由于模式匹配默认采用了AntPathMatcher实现进行解析,它遵循如下规则 ? matches one character* matches zero or more characters** matches zero or more directories in a path{<em>spring</em>:[a-z]+} matches the r
多线程下spring事务相关问题
[b]商城APP后台开发[/b] 过程中,发现一个多线程引起的<em>问题</em> :rn<em>问题</em>接口:,用户订单预览接口rn接口入参:商品编号、数量rnservice层处理方法:preOrder()rnpreOrder方法底层处理 :rn 1.比较商品库存和下单数量,如果库存足够,执行第二步操作rn 2.往订单表中插入数据,注意将订单状态置为:待付款rn 3.减少商品库存,增加商品销量rn 4.返回订单信息、订单中的商品信息rn代码层:[code=java]@Overridern public ResponseContent orderProview(String userId, List list) rn Integer itemsSum = 0; // 商品总数rn if (CollectionUtils.isEmpty(list)) rn throw new ErrorOperationException("订单生成失败!请确认商品:["+list+"] 是否存在!");rn rn List ids = new ArrayList<>(); // 用于存储请求购买的商品编号集合rn Map map = new HashMap<>(); // 使用Map来储存商品编号、购买数量rn for (IdAndNum idAndNum : list) rn itemsSum += idAndNum.getNum(); // 记录商品总数rn ids.add(idAndNum.getId()); // 记录用户购买的商品编号rn map.put(idAndNum.getId(), idAndNum.getNum());// key=商品编号, value=购买数量rn rn System.out.println("ids : " + ids);rn // 2.创建Example查询rn Example example = new Example(ShopItems.class); // ShopItems.java : 商品类rn example.createCriteria().andIn("itemId", ids); // 查询自定商品编号范围内的商品数据rn // 3.通过商品编号集合查询所有的商品数据rn List items = itemsMapper.selectByExample(example);rn if (CollectionUtils.isEmpty(items)) rn return null;rn rn // 4.遍历查询到的商品数据rn for (int i = 0; i < items.size(); i++) rn String itemId = items.get(i).getItemId(); // 拿到商品编号 rn // 当库存为0 或 库存小于购买量时,抛出异常rn if (items.get(i).getNum() items.get(i).getNum()) rn throw new DataBaseException("订单生成失败,因为编号为 [" + itemId + rn "] 的商品仅剩库存为" + items.get(i).getNum()+"件了");rn rn list.remove(itemId); // 将商品 rn rn if (list == null || list.size() < items.size(); j++) rn ShopOrdersItemsMid orderItems = new ShopOrdersItemsMid();rn orderItems.setOrdersItemMinId(UUIDUtils.getUUID()); // 编号rn orderItems.setItemId(items.get(j).getItemId()); // 商品编号rn orderItems.setNum(map.get(items.get(j).getItemId())); // 商品数量rn orderItems.setOrderId(orderId); // 订单号rn orderItems.setItemName(items.get(j).getName()); // 商品名rn orderItems.setPrice(items.get(j).getCurrPrice()); // 商品单价rn orderItems.setuId(userId);rn // 执行插入操作rn midMapper.insertSelective(orderItems); rn rn // 返回数据封装rn PreSettlement settlement = new PreSettlement(); // PreSettlement.java : 封装了商品总数,订单总价,商品集合等等数据。。。rn // 商品总个数rn settlement.setItemsSum(itemsSum);rn // 订单号rn settlement.setOrderId(orderId);rn // 商品总价rn settlement.setTotalMoney(totalMoney);rn // 商品集合rn settlement.setItemsList(items);rn return ResponseUtil.okContent(settlement, null);rn [/code]rnrn<em>问题</em>描述:rn1.某件商品库存仅剩4件,这时两个用户同时下单,都是购买3件商品,但他们获取到的库存都是4件,所以都执行了第二步操作(订单表中插入数据)rn 2.这就相当于生成了6件商品的订单....rn这该怎么破?rn还有,我的代码多的有点离谱,有什么优化建议欢迎指正!rnrnrnrn
spring boot 中缓存使用 @Cacheable redis缓存不生效的
@Cacheable 注解在对象内部调用不会生效 代码示例: ProductServiceImpl.java public List&amp;amp;amp;lt;ProductInfoVO&amp;amp;amp;gt; getProductList(CommonRequest&amp;amp;amp;lt;ProductInfoDTO&amp;amp;amp;gt; reqest) { // @Cacheable失效,不会走缓存的 return this.findPr...
spring 注解 @Cacheable自定义单个key设置超时时间
关于<em>spring</em> 注解 @Cacheable自定义单个key的超时时间 今天在研究缓存,@Cacheable注解,可设置value,key,cacheManage,key可以是<em>相关</em>的传入值作为参数,下面有栗子,想设置单个key的缓存时间,但是没有,只是全局设置,要么不设置,这样很大可能会造成缓存一时全失效,有个专业词我也不记得了。 查看源码得知,有一个类对redis进行处理,是DefaultRed...
spring boot】2.0 配置@cacheable 自定义序列化方式 缓存数据到redis
一·背景描述  <em>spring</em> 的  @<em>cacheable</em> 已成为我们比较常用的缓存数据的方式,但是把非String对象缓存到redis后在使用RedisDesktopManager等软件查看缓存的数据的时候 展示的是HEX 数据,观察起来比较不方便,所以我们这里自定义了FastJsonRedisSerializer 序列化对象后缓存到redis,可以更 方便的观察缓存数据。二·引入jar包&amp;lt;...
spring @cacheable注解在对象内部调用不会生效
一个在方法上加上了@<em>cacheable</em> 注解以后,会在第一次执行的时候讲value放入缓存中,当以后有相同参数的请求再次进入时,会直接从缓存中获取值,而不会执行方法。 @Cacheable可以标记在一个方法上,也可以标记在一个类上。当标记在一个方法上时表示该方法是支持缓存的,当标记在一个类上时则表示该类所有的方法都是支持缓存的。对于一个支持缓存的方法,Spring会在其被调用后将其返回值缓存起来...
缓存redis使用@Cacheable注解
1. 建立Cacheable注解类@Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) public @interface Cacheable { String value() default &quot;&quot;; String key() default &quot;&quot;; int expire() default 36...
Spring @Cacheable注解类内部调用不生效
最近会员中心拼团中一个查询接口做了缓存,使用到<em>spring</em> cache框架。在用户状态变更的时候,清除用户的缓存cache。但是实际结果是数据库状态变了,但是缓存状态并没有清除, 结果出现缓存不一致的<em>问题</em>。具体如下: @CacheEvict(value = &amp;quot;groupUserCached&amp;quot;, key = &amp;quot;'user_status_' + #userId&amp;quot;) public vo...
王振威 在 Spring 3.1 中使用 @Cacheable 实现缓存
在软件开发中使用缓存已经有一个非常久的历史了。缓存是一种很好的设计思想,一旦你用了他,你将会发现他确实很有用。Spring3.1版本的核心对缓存做了实现。在Java推出Annotation特性之前,实现缓存的一个难点在于它与业务逻辑代码的耦合性太强。 然而,Spring3.1中使用@Cacheable 和@CacheEvict实现缓存在某种程度上解决了这个<em>问题</em>,基本思想是在方法加
【技能库】@Cacheable @CachePut Spring 缓存示例(142)
配置
Spring @Cacheable遇到空值处理、设置过期时间的问题分析
<em>问题</em>简介:登录模块会将用户信息缓存到redis中,没有查到则存空。下次用到用户信息时,先从缓存中取,缓存中没有,再从数据库取,以减轻数据库的压力。该功能基于Sprng @<em>cacheable</em>实现。当用户用未注册的账号登录时,按照逻辑存入空,用户紧接着注册了账户,并尝试用该账户登录,按照逻辑,缓存中已有了为空的记录,此时不会再从数据库查一遍,这导致了该账号一直登陆失败,直到统一配置的时间到了,才会从r...
SpringBoot @Cacheable注解的属性使用
cacheNames和value 指定缓存组件的名字,通过下面代码可以看出可以将返回结果放在哪个缓存中,可以通过数组的方式指定多个缓存 /** * Alias for {@link #cacheNames}. */ @AliasFor("cacheNames") String[] value() default {}; /** * Names of the caches in...
SpringBoot高级-缓存-@Cacheable初体验
本视频《SpringBoot》属于下部,着重介绍SpringBoot的与各大场景的整合使用,内容包括:缓存(整合Redis),消息中间件(整合RabbitMQ),检索(整合ElasticSearch),任务(异步任务,定时任务,邮件任务),安全(整合SpringSecurity),分布式(整合Zookeeper/dubbo,整合SpringCloud),SpringBoot应用监管;
Spring(三)----Spring的相关配置
一、技术分析之Spring框架中&amp;lt;bean&amp;gt;标签的配置1.1. id属性和name属性的区别* id -- Bean起个名字,在约束中采用ID的约束,唯一* 取值要求:必须以字母开始,可以使用字母、数字、连字符、下划线、句话、冒号。id不能出现特殊字符* name -- Bean起个名字,没有采用ID的约束(了解)* 取值要求:name-出现特殊字符。如果&amp;lt;bean&amp;gt;没有i...
Spring(一、Spring的相关概念)
Spring的<em>相关</em>概念1、Spring是开源的轻量级框架(轻量级:框架使用不依赖很多其他东西,可以直接使用) 2、Spring核心主要两部分:(1)AOP(Aspect oriented Programming):面向切面编程,扩展功能不是通过修改源代码实现。 (2)IOC(Inversion of Control):控制反转 --比如有一个类,在类里面有一个方法(不是静态的方法),调用类
Cacheable接口是干嘛用的?
貌似一般对象放到map里就能缓存阿,没有什么能不能缓存之分阿
关于spring框架中的ioc的幽默解释.下载
关于spring框架中的ioc的幽默解释. 相关下载链接:[url=//download.csdn.net/download/haiai198711/2636671?utm_source=bbsseo]//download.csdn.net/download/haiai198711/2636671?utm_source=bbsseo[/url]
vcl vc++/delphi皮肤控件最新 破解版下载
vcl vc++/delphi皮肤控件最新 破解版 可以方便的实现界面的换肤,提升界面的美观程度。 内附说明文档以及皮肤库。 相关下载链接:[url=//download.csdn.net/download/sdpdww/3623729?utm_source=bbsseo]//download.csdn.net/download/sdpdww/3623729?utm_source=bbsseo[/url]
Beginning.ASP.NET.4.in.CSharp.2010下载
Beginning.ASP.NET.4.in.CSharp.2010 英文pef版,高清 相关下载链接:[url=//download.csdn.net/download/wangheng3/4599333?utm_source=bbsseo]//download.csdn.net/download/wangheng3/4599333?utm_source=bbsseo[/url]
我们是很有底线的