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 を使用しても問題ありませんか?