Infinispan - 如何知道配置文件(XML)中是否定义了缓存?

时间:2012-06-12 15:51:00

标签: infinispan

我在Infinispan中使用嵌入式缓存架构,允许动态创建/删除缓存。

如果用户尝试获取不存在的缓存,则需要获取异常,但EmbeddedCacheManager API对此没有帮助。此API提供了两个选项

  • get(String name, true) - 获取并创建
  • get(String name, false)获取但不创建

我的做法?当用户simple获取缓存时,我们使用get(String name, false),当用户创建缓存时,我们使用get(String name, true)。到目前为止,非常好。

现在我遇到了一个问题:某些缓存不是由应用程序创建的,而是在XML中定义的。因此,当用户使用get(String name, false)获取其中一个“内置”缓存时,它不会获得缓存。

如果我们能够识别XML中定义的缓存,我们就可以解决这些问题。

注意:目前,我们正在为XML中定义的缓存的名称添加前缀,但这对于代码抽象来说是丑陋的,并且变得非常混乱。

0 个答案:

没有答案