我们正在努力寻找一种在weblogic上创建单例的好方法。
现在我们有一个在集群环境和单个服务器中部署的耳朵。在耳朵内是一个拥有某种状态的单身人士。在2台服务器上复制该状态会导致错误的行为。目前,仅通过部署为最大1的MDB访问该单例。该MDB正在侦听主题。该主题未分发,导致我们只在一台服务器上使用它,但导致我们不喜欢的部署警告。
我们考虑了几个解决方案:
还有其他方法可以解决这个问题吗?也许有些JMS技巧?
答案 0 :(得分:2)
答案 1 :(得分:1)
创建共享库是否有效?共享库可以有一个单例。
http://docs.oracle.com/cd/E11035_01/wls100/programming/libraries.html#wp1071514 https://blogs.oracle.com/jamesbayer/entry/weblogic_server_shared_librari_1
答案 2 :(得分:0)
我不知道我是否理解你的问题,也许最简单的解决方案是让主题分发并使用它将单例状态传播到所有集群节点。
您可以使用该主题来传播单例状态,我的意思是,只有一个单例状态,对需要隐式重新加载的更改或行为,向主题发送消息,每个MDB订阅主题都会收到消息(这里分布式是技巧)(例如,一个群集节点的MDB),并在每个节点中按需要运行。
希望得到这个帮助,但我不知道我是否理解你的问题。