我们在 tomcat 中有多个应用程序有 4 个实例。我们还有 2 个 tomcat,每个有 4 个节点。
我们想使用缓存机制从数据库中获取属性并存储到缓存中,这个缓存可以在同一个 JVM 中的多个应用程序中使用。
所以,我的问题是,我们如何才能实现它? 可以使用哪个缓存? 可以修改什么配置?
我们想使用 ehcache,这是个好主意吗?我们想在启动tomcat服务器的同时加载属性并将属性存储在缓存中,以便其他服务也可以使用。
是否有任何可用于缓存的 tomcat 插件?
最佳答案
问题是你有多个 webapps,它们在不同的类加载器中。因此,如果您想要一个公共(public)缓存(和一个 CacheManager
实例),它需要位于一个公共(public)类加载器中。
这确实可以在 tomcat 中完成,但需要 tomcat 库中的 ehcache(可供应用程序使用的库。我不记得细节了)。然后,如果你存储而不序列化,你还需要 tomcat 库中的缓存类。通过序列化(如堆外存储),我认为不需要它。
关于java - tomcat 4节点中的ehcache实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45192139/