我有一个生产者方法的Singleton EJB。无论如何锁定@Produces方法
@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
吗?
我相信这是我想要的。我会试一试。 – DarVar