当前位置: 首页 > 面试题库 >

spring @Cacheable与Ehc​​ache,拼写为有效对象找到null

柏夕
2023-03-14
问题内容

我有一个类似的问题,但有时可以。描述的错误仅偶尔发生一次。

我正在使用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
WS中构建并部署到tomcat7时。

当它完美运行时
:一次失败后,如果我仅用一些空格编辑MailFilterServiceImpl.java,使其在eclipse中重新编译并重新启动tomcat7服务器。

我需要使其在CI方案中工作。

[更新] 设置编译器选项debug:true可解决此问题。优化似乎没有任何发言权。

<debug>true</debug>
<optimize>true</optimize>

问题答案:

您的描述使一件事变得很清楚:在进行编译时javac,它不起作用,但是在Eclipse编译器中,它起作用ecj。您可能在编译时没有调试信息。



 类似资料:
  • 问题内容: 我正在尝试通过数组映射来呈现帖子列表。我已经做过很多次了,但有一些 我得到的是: 未捕获的错误:对象作为React子对象无效(找到:[object Promise])。如果要渲染子级集合,请改用数组。 我检查了renderPosts返回的数据,它是一个具有正确值且没有承诺的数组。这里发生了什么? 问题答案: 将返回非实际数据,并且AFAIK Reactjs将不会在中隐式解析Promis

  • 问题内容: 在内存使用和CPU消耗方面,在Python中更有效的方法是-字典还是对象? 背景: 我必须将大量数据加载到Python中。我创建了一个只是字段容器的对象。创建4M实例并将其放入字典中大约需要10分钟和6GB的内存。字典准备就绪后,只需眨眼即可访问。 示例: 为了检查性能,我编写了两个简单的程序,它们执行相同的操作-一个使用对象,另一个使用字典: 对象(执行时间〜18sec): 字典(执

  • 问题内容: 我是React Native的新手,并且在下面引用了一个错误: 对象作为React子对象无效(找到:带有键{$$ typeof,type,key,ref,props,_owner,_store}的对象)。如果要渲染子级集合,请改用数组。 这是我的整个代码,除了样式外,还包含在组件文件中: 我很困惑如何解决该问题。提前致谢。 问题答案: 试试这个: 从App.js中删除firebase导

  • 我有一个团队,我希望每个人都能与团队中的其他人进行1:1的会谈。一个给定的人一次只能与另一个人见面,因此我想执行以下操作: 找到所有可能的配对组合 将配对分组为“轮”会议,每个人只能参加一轮会议,一轮会议应包含尽可能多的配对,以在最少的轮数中满足所有可能的配对组合 为了从期望的输入/输出方面演示问题,假设我有以下列表: 我想产生以下输出: 如果我有奇数个人,那么我会期望这个结果: 这个问题的关键是

  • 问题内容: 我创建了一个整数列表,并试图返回特定值的索引。该数组是3,8,2,5,1,4,7,6并且我想返回indexOf(3),应该为0。 导入java.util。*后,我在Eclipse Java Scrapbook中尝试了以下操作: 我也尝试过: 两者都返回-1。为什么?如何使它按预期工作? 问题答案: 它不是为了使它起作用。

  • 我是新手,如果有人能解释这个问题就好了,这个问题已经回答了,但我还是很困惑。 对象作为React子对象无效(找到:带键{}的对象)。如果要呈现子集合,请改为使用数组。