0

背景:我需要的是一种在集群环境中服务器启动期间仅订阅外部系统一次的方法。到目前为止,我们使用 ApplicationLifecycleListener 来运行订阅。在我们的代码中,我们试图找到一个获胜者节点来进行订阅,但由于某种原因它不起作用,所有 4 个节点都在发送他们的请求。(代码是在 Weblogic 8.1 上编写的) 现在,在我们迁移到 weblogic 11g 之后,我发现了一个可以解决问题的 SingletonService。不幸的是,我们不能使用它,因为当我们在本地开发应用程序时,我们会在非集群环境中对其进行测试,而单例服务无法在其上运行。

我的问题:有没有办法在应用程序启动后注册 SingletonService ,例如。在 ApplicationLifecycleListener 中发现我们在集群上?如果没有,您对如何解决我们的问题有什么建议吗?

4

1 回答 1

0

您可以使用启动类并将其仅针对一台机器而不是全部 4 台机器吗?您需要将启动类添加到服务器的类路径中。您可以在“环境”下的 weblogic 控制台中查看启动/关闭类。

这是一个简短的示例:http ://buttso.blogspot.com/2009/09/weblogic-server-startup-and-shutdown.html

于 2013-03-26T17:35:02.893 回答