如何处理 infinispan 缓存的创建和部署

Howto handle infinispan cache creating and deployment

我们有一个 infinispan 集群作为我们应用程序的缓存服务器。每次我们需要一个新的缓存时,我们都必须编辑配置文件,并重新部署集群,这是有问题的。出于显而易见的原因,我们不想重新部署缓存集群。 我们可以通过 Web 界面或 cli 添加新的缓存定义。但它的缺点是不在回购中记录此配置。理想情况下,我希望能够以一种在我的代码库中持久存在的方式添加缓存定义。这样万一发生灾难,我可以简单地重新部署缓存集群。

我们研究过在应用程序启动时通过源代码创建缓存定义,但这似乎不可能。

有人知道解决此问题的最佳做法吗?

经过一些研发,这是我们发现的:

  • 可以通过 Infinispan 中的 jcache 实现以编程方式创建缓存,但我们找不到正确配置它的方法。最终结果只是一个空缓存定义,没有属性

  • 我们最后做的是使用 jboss cli 创建缓存。使用脚本创建缓存定义,并将该脚本提交到版本控制系统。这样您就可以随时通过重新运行该脚本来重新创建缓存服务器。这种方法的缺点是您将需要在部署机器上安装 jboss-cli - 可能是 CI - 这非常不方便。我们只是决定暂时手动执行此步骤。