0

Producer メソッドを持つシングルトン EJB があります。

@javax.ejb.Singleton
public class MyBean{

    private Something something;

    @Produces
    public MySomething getSomething() {              
          if(null == something){
               LOG.info("Initializing MySomething.");
               something = new Something();
          }
          return something;
    }
}

私はこれがロックすると思ってい"Initializing MySomething."ましたが、ログにこれが何度も表示され、何かがスローされjava.lang.StackOverflowErrorます。

この@Producesメソッドをロックする必要があるようです。

java.util.concurrent.Semaphoreこの目的で a を使用しても問題ありませんか?

4

2 に答える 2