私は@ Singletonでマークされたクラスを持っています。beanManager.getReference()はスレッドセーフですか?
私は次のコードを使用し、そのクラスのインスタンスを取得するには:、
public Object getMySingleton(Class someClass){
Bean bean = (Bean) beanManager.getBeans(someClass).iterator().next();
CreationalContext ctx = beanManager.createCreationalContext(bean);
Object obj =beanManager.getReference(bean, someClass, ctx);
return obj;
}
くださいgetMySingletonがではありません注意を払います。このコードはスレッドセーフですか?つまり、getMySingletonを別のスレッドから呼び出すことができます - すべての呼び出し元に同じSingletonのインスタンスを渡しますか?
javaeeサーバーとして私はglassfishを使用し、cdiコンテナとして溶接します。しかし、私はjava-eeの仕様に従って共通の答えを得たいと思います。