我有两个 Java 应用程序。
一种是执行某些数据并将某些数据写入 EhCache 的 jar 文件。
另一个应用程序安装为 weblogic 服务器上的战争。
我的问题是,有什么方法可以访问由 war 应用程序中的 jar 文件写入的相同 Ehcache 对象并从中检索数据?
weblogic 和 jar 文件在同一台机器上。
任何帮助,将不胜感激。谢谢。
简短的回答是:是的,可能但并不简单,您需要做一些工作。
您正在寻找的是缓存复制,请在此处查看详细信息
如果您的 JAR 文件中的一个应用程序和 WAR 文件中的一个应用程序都在不断地同步运行(即,在任何给定的时间点,它们中只有一个不会关闭),那么您可以选择 RMI。如果预计其中一个应用程序关闭而另一个应用程序启动,那么您将需要将缓存对象/数据保存在某处,而 JMS 是自然选择之一。他们是否在同一台机器上并不重要。
您基本上想要做的是 JVM 到 JVM 的通信——它可以用于任何对象,不一定用于 Ehcache。此处讨论了其他一些选项
了解 JVM 中的“对象”是临时的,当它们不再被引用或 JVM 死亡时会死亡。每当您希望将它们传输到 JVM 之外时,您都需要在文件、消息等硬介质中写入,或者通过 RMI 或服务调用等机制传输它们。在那里传输时,您需要将对象转换为目标可以理解的语言 - 这基本上是编组和取消编组或序列化和反序列化。