Weblogic 10.3托管服务器共享内存对象

时间:2010-07-15 21:38:37

标签: java tomcat singleton weblogic heap

我们使用Oracle Weblogic 10.3作为我们的应用服务器。我们有多个模块需要访问受管服务器通用的对象(包含一些HashMaps)。此对象将每天通过其他一些过程填充。由于应用程序数量众多且内存有限,我们不希望在每个应用程序中都有此副本。我们无法将这些组合成一只耳朵,因为个人(战争)需要根据不同的时间表进行更新。

我尝试过创建一个可选包并在两个模块中引用它。正在访问的类只包含对该对象的单例的调用。但是,为每个应用程序创建单独的单例会发生什么,从而破坏了目的。

看起来启动类在8.1之前或之后的某个时候被弃用,现在已经过去了10.3。

有没有办法让这个对象和其他代码“活”在应用程序/模块级别之上,每个jvm /托管服务器只有一个副本,并且可以被部署到同一个托管服务器的所有模块访问?

如果解决方案也适用于Tomcat,则可获得奖励。

1 个答案:

答案 0 :(得分:0)

  

看起来启动类在8.1之前或之后的某个时候被弃用,现在已经过去了10.3。

事实上。但它们被Application Life Cycle Events API“替换”,所以它们仍然存在。

  

有没有办法让这个对象和其他代码“活”在应用程序/模块级别之上,每个jvm /托管服务器只有一个副本,并且可以被部署到同一个托管服务器的所有模块访问?

不完全是您所要求的,但您可以在EHCache等缓存解决方案之上实现服务,并通过无状态会话Bean或Web服务(甚至两者)公开此服务。如果这不是一个选项,你能澄清确切需要吗?