我可以在Weblogic中创建域范围的单例服务吗?

时间:2015-07-23 09:40:05

标签: java-ee weblogic weblogic12c

我们目前为我们的多个应用程序设置了集群Weblogic,以实现负载平衡,故障转移等常规保证。最近,我们添加了一个单独的服务,实现了weblogic.cluster ... SingletonService,它完成了它的设计工作,但它似乎不是我们需要它的工作。在当前设置中,在同一域下有多个集群需要访问单例服务,但似乎这不起作用。

我们如何在域范围内设置单件服务,即同时为多个集群设置?

完整性测试:我们观察到Weblogic SingletonService无法在域范围内正确使用吗?

1 个答案:

答案 0 :(得分:2)

文档说明

  

“单例服务是在受管服务器上运行的服务   一次只能在群集中的一个成员上使用“

所以是的,你的理智测试还可以。

WebLogic中没有任何域范围的单例功能。我可以想象一些解决方法:

  • 使用JMX检查正在运行的服务器,仅在第一个正在运行的受管服务器名称和当前服务器名称匹配时,从系统属性检索服务器名称并运行逻辑。

  • 设置域范围的Coherence群集,并将本地成员与群集中最早的成员进行比较,并使用它来确定哪个服务器是领导者并运行您的逻辑。

  • 使用JNDI树设置一些可怕的信号量逻辑,这是一个域范围的资源。