2012-06-12 2 views
1

Seam 2에는 Bean을 인스턴스화하는 정적 메서드로 사용할 수있는 Component.getInstance (someClass)가 있습니다.Seam에서 정적 메서드로 메시지 가져 오기 3

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)); 

을 사용하고 모든 것이 잘 작동합니다. 그러나이 모든 코드는 작성되어야합니다.

답변

1

BeanManager에 CDI 빈의 인스턴스를 쿼리 할 수 ​​있습니다. 정적이거나 그렇지 않은 어떤 상황에서도 작동해야합니다. 그리고 Seam 3에만 해당되는 것은 아닙니다. BTW

+0

Seam 3, CODI 또는 DeltaSpike를 사용하는 중반에는 모두 동일한 상용구 코드를 사용하는 유틸리티 클래스가 있습니다. – LightGuard

관련 문제