Java Ehcache总是返回null

Java Ehcache总是返回null,java,spring,hibernate,ehcache,Java,Spring,Hibernate,Ehcache,我使用Ehcache 2.6.8作为Spring启动应用程序的一部分,作为Hibernate 4.3.11的二级缓存。我有一个JMX MBean,它允许我检查缓存()的内容 首先,我使用CacheManager名称获取缓存列表。那很好。我可以使用cacheManager.getEhcache(cacheName)返回缓存。然后我调用cache.getKeys()。这工作正常,cacheName为“com.myapp.DomainObjectName”,键列为“com.myapp.DomainOb

我使用Ehcache 2.6.8作为Spring启动应用程序的一部分,作为Hibernate 4.3.11的二级缓存。我有一个JMX MBean,它允许我检查缓存()的内容

首先,我使用CacheManager名称获取缓存列表。那很好。我可以使用
cacheManager.getEhcache(cacheName)
返回缓存。然后我调用
cache.getKeys()
。这工作正常,cacheName为“com.myapp.DomainObjectName”,键列为“com.myapp.DomainObjectName#1”、“com.myapp.DomainObjectName#2”等

但随后我尝试通过调用
cache.get(“com.myapp.DomainObjectName#1”)
访问其中一个对象,使用缓存本身告诉我存在的一个键。然而,结果总是空的

为什么呢?为什么我找不到与缓存本身刚才说存在的密钥相关联的对象


PS,可能不相关,但我正在使用JGroups在生产中分发缓存。但是,即使在我的笔记本电脑上,我也看到了相同的行为。

您可以找到密钥这一事实表明缓存中有内容

通过阅读您的问题,我认为您错误地将键解释为
String
。JMX显示的是键的
toString()
,因此使用该
字符串作为键不返回任何内容


您需要一种方法来直接使用
get(key)

D'oh!不管出于什么原因,我假设这些键是字符串,而没有考虑它。谢谢