如何解决Infinispan - 我可以为服务器中的每个 Web 应用程序创建 DefaultCacheManager
我不明白 DefaultCacheManager 的 Java doc 的以下语句。它说
CacheManager 是重量级对象,我们预计每个 JVM 使用的 CacheManager 不会超过一个
- 我可以为服务器中的每个 Web 应用程序以编程方式创建 DefaultCacheManager 吗?例如,我有两个 Web 应用程序,A 和 B。它们在 JBoss AS(仅限独立)中运行。每个 Web 应用程序(A 和 B)都会创建自己的 DefaultCacheManager 对象。
解决方法
是的,您可以创建更多缓存管理器。此处的重量级一词意味着缓存管理器包含线程池、JGroups 通道(即消耗的端口)等,因此您不应创建太多这些。
在具有深度集成的应用服务器中,情况可能会有所不同 - 一些资源可以在那里共享。查看 Infinispan 子系统 - 缓存管理器然后映射到 cache-container
。配置中有多个缓存容器完全没问题。
在应用服务器中,应用不应该创建缓存管理器;这些应该只注入(例如通过 CDI)到您的网络应用程序。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。