java – 使用Ehcache弹出@Cacheable,spel为有效对象找到null
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 使用Ehcache弹出@Cacheable,spel为有效对象找到null,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2508字,纯文字阅读大概需要4分钟。
内容图文
我有一个类似的problem,但有时它的工作原理.描述的错误只会偶尔发生一次.
我使用的是spring 3.2.5和ehcache 2.6.5.
异常跟踪:
org.springframework.expression.spel.SpelEvaluationException: EL1007E:(pos 0): Field or property 'applicationID' cannot be found on null
at org.springframework.expression.spel.ast.PropertyOrFieldReference.readProperty(PropertyOrFieldReference.java:213)
at org.springframework.expression.spel.ast.PropertyOrFieldReference.getValueInternal(PropertyOrFieldReference.java:85)
at org.springframework.expression.spel.ast.PropertyOrFieldReference.access$000(PropertyOrFieldReference.java:43)
at org.springframework.expression.spel.ast.PropertyOrFieldReference$AccessorLValue.getValue(PropertyOrFieldReference.java:346)
at org.springframework.expression.spel.ast.CompoundExpression.getValueInternal(CompoundExpression.java:82)
at org.springframework.expression.spel.ast.SpelNodeImpl.getValue(SpelNodeImpl.java:93)
at org.springframework.expression.spel.standard.SpelExpression.getValue(SpelExpression.java:89)
at org.springframework.cache.interceptor.ExpressionEvaluator.key(ExpressionEvaluator.java:95)
at org.springframework.cache.interceptor.CacheAspectSupport$CacheOperationContext.generateKey(CacheAspectSupport.java:452)
at org.springframework.cache.interceptor.CacheAspectSupport.inspectCacheables(CacheAspectSupport.java:281)
at org.springframework.cache.interceptor.CacheAspectSupport.execute(CacheAspectSupport.java:199)
at org.springframework.cache.interceptor.CacheInterceptor.invoke(CacheInterceptor.java:66)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at com.sun.proxy.$Proxy85.getMailOrigin(Unknown Source)
at com.myApplication.MailFilterServiceImpl.isValid(ApplicationServiceImpl.java:134)
我的缓存代码如下:
MailFilterServiceImpl
@Cacheable(value="mailClientsCache", key="#mb.applicationID")
public MailClientBean getMailOrigin(MailBean mb){}
当这件事发生时:
当我有一个jenkins配置为构建和自动部署到tomcat7 /当我使用maven在eclipse中构建并部署到tomcat7时.
当这完美地工作:
在失败一次之后,如果我只是用一些空格编辑MailFilterServiceImpl.java以使其在eclipse中重新编译并重新启动tomcat7服务器.
我需要让它在CI场景中运行.
[更新]
设置编译器选项debug:true可解决此问题.优化似乎没有任何发言权.
<debug>true</debug>
<optimize>true</optimize>
解决方法:
您的描述清楚地表明:使用javac进行编译时它不起作用,但它确实与Eclipse编译器ecj一起使用.您可能正在编译而没有调试信息.
内容总结
以上是互联网集市为您收集整理的java – 使用Ehcache弹出@Cacheable,spel为有效对象找到null全部内容,希望文章能够帮你解决java – 使用Ehcache弹出@Cacheable,spel为有效对象找到null所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。