1
응용 범위가있는 여러 구성 요소가 있습니다. 내가 어느 환경에 있는지에 따라 둘 중 하나를 설치하려고합니다. JBoss Seam에서는 @Install (false)를 사용하고 components.xml을 통해 원하는 bean을 구성합니다.CDI - 조건부 설치
CDI/WELD에서 이와 비슷한 방법이 있습니까?
감사합니다,
월터
응용 범위가있는 여러 구성 요소가 있습니다. 내가 어느 환경에 있는지에 따라 둘 중 하나를 설치하려고합니다. JBoss Seam에서는 @Install (false)를 사용하고 components.xml을 통해 원하는 bean을 구성합니다.CDI - 조건부 설치
CDI/WELD에서 이와 비슷한 방법이 있습니까?
감사합니다,
월터
글쎄, 당신은 항상 생산자 방식을 사용하고 당신의 일부 구성을 기반으로 인스턴스화 할 구현을 결정할 수 있습니다. CDI에서는 xml의 양이 최소가되도록 기억하십시오.
그래서, 뭔가 같은 :
@Produces
public Component createComponent() {
if (configuration.isSomething()) {
return new ComponentImpl1();
} else {
return new ComponentImpl2();
}
}
좋아, 좋아, 나는 피트는이 예를 나타내는 기억 생각합니다. 나는 이것이 나를 위해 일할 것이라고 생각한다. –
다른 사용 사례가 있는데, 확장 기능을 작성할 것이라고 생각하고 있습니다. 서버가 시작되면 그 시점에 해당 빈을 설치하거나 등록할지 결정합니다. 그렇지 않으면 컨테이너에서 해당 정의를 제거하기 만하면됩니다. 그래서 설치하지 말아야 할 경우 주석을 추가하여 설치해야한다고 생각합니다. –