Hibernate Hazelcast 3.4作为二级缓存提供程序

Hibernate Hazelcast 3.4作为二级缓存提供程序,hibernate,caching,ehcache,hazelcast,provider,Hibernate,Caching,Ehcache,Hazelcast,Provider,我想将hazelcast配置为hibernate二级缓存的二级缓存提供程序。目前我正在使用ehcache作为缓存提供程序 我想替换它,因为hazelcast是一个分布式缓存。 谁能告诉我配置这个的步骤吗。你得看看 这是一个很好的例子,说明了如何将hibernate二级缓存与hazelcast一起使用。此外,如果您遇到其他问题,您可以在stackoverflow中询问或 hazelcast还提供了很好的文档:我已经完成了所有的配置。但是我想在我的应用程序中测试它。我如何测试它。例如:-我有一个实体

我想将hazelcast配置为hibernate二级缓存的二级缓存提供程序。目前我正在使用ehcache作为缓存提供程序

我想替换它,因为hazelcast是一个分布式缓存。 谁能告诉我配置这个的步骤吗。

你得看看

这是一个很好的例子,说明了如何将hibernate二级缓存与hazelcast一起使用。此外,如果您遇到其他问题,您可以在stackoverflow中询问或


hazelcast还提供了很好的文档:

我已经完成了所有的配置。但是我想在我的应用程序中测试它。我如何测试它。例如:-我有一个实体Country@Cache(usage=cacheconcurrentystrategy.READ_ONLY)类Country{}你想为你的应用程序编写单元测试吗?缓存是否工作。是的,类似于单元测试。还有一个问题。当我将我的hazelcast版本从3.1.7升级到3.4时,我得到了异常java.lang.ClassCastException:com.hazelcast.util.QueryResultSet无法转换为java.util.List,而将集合转换为List)集合。这里的集合是categoriesCache.values(),其中categoriesCache是我的IMap categoriesCache;你知道原因吗,因为这是在hazelcast从3.1.7升级到3.4之后发生的。我想我们在3.3中更改了内部响应对象。新的QueryResultSet在(反)序列化方面效率更高,但顾名思义,它现在是一个集合,不再是列表。因此,请将代码更改为使用集合或集合。非常感谢@noctarius。我使用了Collection.sort()方法。我将QueryResultSet强制转换为List,因为它需要List进行排序。因此,我必须从QueryResultSet创建一个列表,并且必须在Collection.sort()中使用它。我说得对吗?