我们在tomcat中有多个具有4个实例的应用程序。我们还有2个tomcats,每个都有4个节点。
我们希望使用缓存机制从数据库获取属性并存储到缓存中,此缓存可用于同一JVM中的多个应用程序。
所以,我的问题是,我们该如何实现? 可以使用哪个缓存? 可以修改哪些配置?
我们想用ehcache,这是个好主意吗?我们想在启动tomcat服务器时加载属性并将属性存储在缓存中,以便也可以使用其他服务。是否有可用于缓存的tomcat插件?
答案 0 :(得分:1)
问题是你有多个webapps,它们在不同的类加载器中。因此,如果您需要公共缓存(以及单个CacheManager
实例),则需要在公共类加载器中。
这确实可以在tomcat中完成,但需要tomcat libs中的ehcache(应用程序可用的那个。我不记得细节)。然后,如果您在没有序列化的情况下存储,则还需要tomcat库中的缓存类。通过序列化(如存储offheap),我认为不应该需要它。