【问题标题】:Infinispan - Can I create DefaultCacheManager for each web application in the serverInfinispan - 我可以为服务器中的每个 Web 应用程序创建 DefaultCacheManager
【发布时间】:2021-06-30 02:04:13
【问题描述】:
DefaultCacheManager 的Java doc 的以下语句我不明白。它说
CacheManager 是重量级对象,我们预计每个 JVM 不会使用超过一个 CacheManager
- 是否允许以编程方式为服务器中的每个 Web 应用程序创建 DefaultCacheManager?例如,我有两个 Web 应用程序,A 和 B。它们在 JBoss AS 中运行(仅独立)。每个 Web 应用程序(A 和 B)都创建自己的 DefaultCacheManager 对象。
【问题讨论】:
标签:
caching
jboss
wildfly
infinispan
【解决方案1】:
是的,您可以创建更多缓存管理器。 heavyweight 一词在这里表示缓存管理器包含线程池、JGroups 通道(即消耗的端口)等,因此您不应该创建太多这些。
在具有深度集成的应用程序服务器中情况可能会有所不同——一些资源可以在那里共享。查看 Infinispan 子系统 - 缓存管理器然后映射到 cache-container。在配置中有多个缓存容器是非常好的。
在应用服务器中,应用不应该创建缓存管理器;这些应该只注入(例如通过 CDI)到您的 web 应用程序。