1

Seam 2にはComponent.getInstance(someClass)があり、これを静的メソッドに使用してBeanをインスタンス化できます。

Seam 3でこのアプローチを行うにはどうすればよいですか?

元:

public static someMethod()
{
     SomeClass sc = (SomeClass.class) Component.getInstance(SomeClass.class);
     ...
}

静的メソッドでメッセージを取得するにはどうすればよいですか?

アップデート:

使用しました

BeanManager beanManager = new BeanManagerLocator().getBeanManager();
Bean<?> bean = beanManager.resolve(beanManager.getBeans(SomeClass.class));
SomeClass sc = (SomeClass) beanManager.getReference(bean, SomeClass.class, beanManager.createCreationalContext(bean));

そして、すべてが正常に動作します。しかし、このコードはすべて作成する必要があります。

4

2 に答える 2

1

CDI Bean のインスタンスのBeanManagerを照会できます。これは、静的かどうかに関係なく、どのようなコンテキストでも機能するはずです。それは Seam 3 固有のものではありません。

于 2012-06-12T19:29:12.013 に答える
0

ここhttp://javalabor.blogspot.in/2011/08/our-seam-2-to-jee-6-replacement-list.htmlで解決策を見つけることができます。

于 2013-01-16T06:08:14.987 に答える