gpt4 book ai didi

java - javax.ejb.Singleton在集群环境下单例如何?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:55:16 25 4
gpt4 key购买 nike

我需要为集群环境中的所有用户和所有节点维护一个在应用程序中唯一的简单计数器。我考虑过像这样使用单例 session bean 注释 javax.ejb.Singleton:

package foo;

import javax.ejb.Singleton;

@Singleton
public class Bean {
private int counter;
[...]
}

这看起来很简单,但如果它在集群环境中按预期工作,我找不到答案。集群的每个节点是否都有自己的实例?

当然,我可以将 bean 持久保存在数据库中,但它实际上只是一个计数器,这样做就太过分了。此外,我希望计数器在应用程序崩溃或重新启动时重置,因此坚持使用它会产生比它解决的问题更多的问题。

最佳答案

Would every node of the cluster have it's own instance or not?

是的,每个集群节点都会有一个不同的Singleton实例。因此,@Singleton 注释不是您问题的解决方案。

请记住,Java EE 规范未定义任何类型的集群行为。您需要搜索特定的供应商解决方案来实现这种需求。举个例子,看这个 link .

关于java - javax.ejb.Singleton在集群环境下单例如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29496451/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com