调用@Singleton bean的方法

时间:2019-04-02 21:21:22

标签: java java-ee java-8 ejb

在Java SE中,我曾经以这种方式调用单例实例方法:

MySingleton.getInstance().method();

现在,在Java EE 8中,我有一个@Singleton bean。如何调用方法?我必须在调用者中注入Singleton实例吗?

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

  @Lock(LockType.WRITE)
  public void method() {
    // .....
  }

}

2 个答案:

答案 0 :(得分:1)

  

我是否必须在调用者中注入Singleton实例?

是的,这是首选方法。

就做

@Inject
private MySingletonBean name;

答案 1 :(得分:1)

JEE中的Singleleton是一种Session Bean。这意味着,您可以使用@EJB注释对其进行注入。

@EJB
private SingletonBean singleton;