是否可以从两个不同的Java应用程序访问相同的Ehcache对象?

时间:2013-06-18 07:10:32

标签: java weblogic ehcache

我有两个Java应用程序。

一个是jar文件,它执行并将某些数据写入EhCache。

另一个应用程序在weblogic服务器上安装为战争。

我的问题是,有没有办法访问war文件中jar文件写入的同一个Ehcache对象并从中检索数据?

weblogic和jar文件在同一台机器上。

任何帮助将不胜感激。感谢名单。

1 个答案:

答案 0 :(得分:1)

简短的回答是:是的,可能但不是直截了当,你需要做一些工作。

您正在寻找的是缓存复制,check out details here

如果JAR文件中的应用程序和WAR文件中的应用程序都在不断地同步运行(即只有其中一个 NOT 在任何给定点都停机),那么RMI可以是你的选择。如果其中一个应用程序预计会关闭而另一个应用程序启动,那么您将需要在某处保留缓存对象/数据,而JMS是一种自然选择。如果他们在同一台机器上并不是真的重要。

您基本上想要做的是JVM到JVM的通信 - 它可以用于任何不一定用于Ehcache的对象。讨论了其他一些选项here

了解JVM中的“对象”是临时的,并且在不再引用或JVM死亡时将会死亡。无论何时您希望它们在JVM外部传输,您都需要在文件,消息等一些硬介质中编写,或者通过RMI或服务调用等机制进行传输。在那里运输时,您需要使用目标理解的语言转换对象 - 这基本上是编组和非编组或序列化和反序列化。