繁体   English   中英

在EJB中调用静态实例的方法

[英]call a method of a static instance in EJB

我猜测我们的代码库中有不正确的代码,但我不确定。 因此,我们有了这样的EJB:

@Stateless
public class MyEjb {
  private static Something sg = new Something();
  public void doSomething() {
    sg.execute();
  }
}

某事是正常的课:

public class Something {
  public void execute() {
    ...
  }
}

由于MyEJB是无状态EJB,因此可以同时多次调用doSomething方法。

这是我的问题:如果doSomething()同时被调用了两次,那么其中一个调用将被阻塞,直到第一个调用结束? 我的猜测是,由于只有一个静态实例,它被阻止了。
如果我是对的,那么上面的代码就不好了,因为“ Something”类的“ execute”方法是我的EJB的瓶颈。

谢谢,V。

除非您使用“同步”块或“写锁定”限制访问,否则这两个调用将同时运行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM