Hibernate EhCache的缓存问题

时间:2013-05-17 08:20:50

标签: multithreading hibernate ehcache

我们的项目使用Hibernate 3.0进行数据库访问。我们使用二级缓存和查询缓存来缓存查询和实体.EhCache用于缓存目的。

DAO方法getData()在会话关闭之前使用Hibernate.initialize()获取数据并初始化所有关联。

主执行线程触发异步执行器任务以生成各种模块的数据。这些任务又调用上面的方法来获取数据。 在第一次db调用之后,查询,实体及其关联被缓存,以便可以从缓存而不是DB中获取它们以用于后续调用。主线程然后
完成这些任务后,访问相同的数据以进行其他工作。

在LOCAL环境中一切正常,但DEV / INT环境中的代码失败。

在dev中,对主线程的上述DAO方法的调用失败。其中一个关联的初始化失败。即使数据存在,Hibernate.initialize()方法调用也会返回null。 同一个调用适用于异步任务但只在主线程中失败。在日志中,我没有看到任何与缓存命中/未命中相关的语句,但是我能够看到它们的任务

可能出现的问题是什么?

0 个答案:

没有答案