gpt4 book ai didi

Spring @Cacheable 不工作-我的配置有什么问题?

转载 作者:行者123 更新时间:2023-12-04 02:38:02 25 4
gpt4 key购买 nike

我已经看到很多同一个问题的化身,但我想我已经尝试了所有修复 - 我的用法非常简单。

我一直在使用 Ehcache,但也没有用。因此,为了排除 Ehcache 问题并帮助指出更基本的东西,我转向了 SimpleCacheManager 和 ConcurrentMapCacheFactoryBean。

这是我的配置:

<cache:annotation-driven/>

<bean id="cacheManager" class="org.springframework.cache.support.SimpleCacheManager">
<property name="caches">
<set>
<bean class="org.springframework.cache.concurrent.ConcurrentMapCacheFactoryBean" p:name="parentAppIds"/>
</set>
</property>
</bean>

这是我的方法:

    @Cacheable(value="parentAppIds", key="accountNumber")
public Long findApplicationId(String accountNsc, String accountNumber) throws EMSException {
....
}

这是接口(interface)上的方法,实现类是Spring管理的@Service("foo")

我尝试按照建议使用“p0”here但无济于事。我没有编译问题,我的服务器日志中也没有错误,所以我确信我的类路径中有所有必要的东西;命名空间都很好,因为我为此使用了 STS - 所以我省略了 pom.xml 和 spring 命名空间声明以阻止噪音。

我正在使用 Spring 3.1; Java 1.5 和 Websphere 6.1

症状是使用相同的参数重复访问该方法。

请帮忙 - 我饿了,拒绝去吃午饭,直到我搞定这个。

注意:我已经简化了我的@Cacheable 声明,我的实际声明是

@Cacheable(value="parentAppIds", key="#p0.concat('-').concat(#p1)")

都不行。

谢谢。

** 编辑 - 我已经排除了 Websphere 的问题,方法是使用

创建一个测试平台
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(...)

模仿正在发生的事情。 @Cacheable 根本不起作用。必须有一些非常明显的东西我失踪了。 (我现在吃午饭了)

最佳答案

我的问题已经解决了。不幸的是,我无法准确指出我的问题出在哪里。当然,所需要的只是我在问题中提到的内容。

为了解决这个问题,我整理了一下我的 Spring 配置并清除了我的浏览器和应用程序服务器缓存和临时目录。我进行了完全全新安装,缓存现在可以正常工作了。

有可能我是用早期版本测试的,它没有在应用程序配置中包含这条重要的行:

<cache:annotation-driven/>

我一开始就忽略了这一点。也许我添加的那个直到现在才被接受。否则我很难过。感谢您的宝贵时间。

关于Spring @Cacheable 不工作-我的配置有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20494574/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com