我们使用Oracle Weblogic 10.3作为我们的应用服务器。我们有多个模块需要访问受管服务器通用的对象(包含一些HashMaps)。此对象将每天通过其他一些过程填充。由于应用程序数量众多且内存有限,我们不希望在每个应用程序中都有此副本。我们无法将这些组合成一只耳朵,因为个人(战争)需要根据不同的时间表进行更新。
我尝试过创建一个可选包并在两个模块中引用它。正在访问的类只包含对该对象的单例的调用。但是,为每个应用程序创建单独的单例会发生什么,从而破坏了目的。
看起来启动类在8.1之前或之后的某个时候被弃用,现在已经过去了10.3。
有没有办法让这个对象和其他代码“活”在应用程序/模块级别之上,每个jvm /托管服务器只有一个副本,并且可以被部署到同一个托管服务器的所有模块访问?
如果解决方案也适用于Tomcat,则可获得奖励。
答案 0 :(得分:0)
看起来启动类在8.1之前或之后的某个时候被弃用,现在已经过去了10.3。
事实上。但它们被Application Life Cycle Events API“替换”,所以它们仍然存在。
有没有办法让这个对象和其他代码“活”在应用程序/模块级别之上,每个jvm /托管服务器只有一个副本,并且可以被部署到同一个托管服务器的所有模块访问?
不完全是您所要求的,但您可以在EHCache等缓存解决方案之上实现服务,并通过无状态会话Bean或Web服务(甚至两者)公开此服务。如果这不是一个选项,你能澄清确切需要吗?