Infinispan JPA Cache loader?

时间:2012-09-28 04:41:22

标签: caching infinispan

如何实现Infinispan JPA缓存加载器?在infinispan API中是否有任何模式或方法可以实现它?

1 个答案:

答案 0 :(得分:2)

Infinispan中大多数现有的CacheLoader实现都假设数据只需要存储,并将其视为一个字节数组。 Infinispan中的集成API不会暴露除“store(Key,Value)”或“load(Key)”之外的大部分上下文。我有点过分简化,但那是核心。

有一个例外是LuceneCacheLoader。这被设计为专门与Lucene Directory for Infinispan结合使用,因为它利用了事实

  • 它知道期望哪种类型
  • 利用目录的已知需求(例如访问模式)

了解获取灵感的来源;注意我只实现了加载(它是一个CacheLoader)。

如果您使用Infinispan和CacheLoader控制应用程序,您也可以利用这些细节。

棘手的方面:

  • 即使在同一个事务中编写多个密钥,您也可以在CacheLoader逻辑范围内一次访问一个条目 - >难以映射关系:必须一次处理一个实体并“恢复连接”
  • 使用后写,您可能会收到无序的条目 - >不确定如何处理参照完整性
  • 使用后写,您将不会拥有相同的交易上下文 - >可能会被接受吗?

考虑到这些,我相信你可以写一个。多么容易?这取决于你的应用程序。

我不确定通用解决方案是否可行。如果您发现它可以,请提供它,因为它将是项目的一个很好的补充。