我在我的应用程序中使用 JCS 缓存。我正在从 Java 应用程序(主方法)更新 jcs 缓存数据。并使用另一个 tomcat 应用程序(war)访问它。我的问题是我没有为 tomcat 应用程序获取更新的缓存数据。?只有在重新启动 tomcat 时,我才会获得最新的缓存 tomcat 数据。
如何在不重新启动 tomcat 的情况下获取最新的缓存数据?
我不是使用 JCS 的专家,但我不认为磁盘缓存旨在能够在不同的应用程序之间共享缓存。密钥保存在内存中。您的每个应用程序都将拥有自己的现有密钥知识,这些知识既不共享也不同步。您是否尝试从两个应用程序写入缓存?您可能最终会破坏您的缓存。
如果您需要在不同的应用程序之间共享数据,我相信缓存不是解决方案。它应该在缓存之外执行。
请注意,您可以使用横向 TCP 缓存或 RMI 缓存来分发缓存数据。这些辅助缓存确实管理缓存更新和同步。
你在做什么对我来说不是很清楚。您的两个应用程序之间如何共享缓存?到目前为止,您似乎正在使用两个不同的缓存实例,每个应用程序一个。如果确实如此,并且如果您在内存缓存中使用,则不能期望一个应用程序中的更新会出现在第二个应用程序中。