Spring相当于EJB Singleton维护状态

时间:2015-12-13 18:44:14

标签: java spring thread-safety singleton ejb

目前我正在开发一个JSF2 + Spring应用程序。我需要有一个组件,我可以在需要时自动装配并从/向它读/写状态(安全)。

在EJB中我会这样做:

@Singleton
@ConcurrencyManagement(ConcurrencyManagementType.CONTAINER)
public class LocaleManager {

  private String currentLanguage;

  @Lock(LockType.READ)
  public String getCurrentLanguage() {
    return currentLanguage;
  }

  @Lock(LockType.WRITE)
  public void setCurrentLanguage(String currentLanguage) {
    this.currentLanguage  = currentLanguage;
  }

}  

如何在Spring中实现这一目标?谢谢!

编辑:一个重要的事情是应用程序有多个Maven模块,我需要这个“核心”模块,它不依赖于spring-web。我需要DTO汇编程序中的语言信息,我只想使用与JSF中当前语言环境集相关的字符串值。实体具有一组用于各种语言的翻译(每个DB表都有自己的翻译表)。在相应的DTO中,我希望只有例如“字符串描述”,而不是“设置<ItemTranslation>描述”。

1 个答案:

答案 0 :(得分:-1)

在Spring中,bean的scope说明了如何创建实例。我建议你查看以下教程:

http://www.mkyong.com/spring/spring-bean-scopes-examples/