EJB3를 사용하여 다음을 수행 할 수 있는지 궁금합니다.EJB 3 동일한 인터페이스의 다중 상태 비 저장 세션 빈 구현
interface DateParser {
Date parseDate(String input);
String getType();
}
그런 다음 나는 getType로 설정 방법에 주어진 정보에 따라 서로 다른 형식을 처리했다 인터페이스의 여러 구현이 있습니다
나는 다음과 같은 인터페이스를 가지고있다. Bean이 시작되면 DateParser의 구현 세트가 작성되고 날짜를 구문 분석해야 할 때 세트를 반복하여 어느 것이 일치하는지 확인한다. 일치하는 경우 해당 날짜를 구문 분석하는 데 사용됩니다. 일치하지 않으면 기본 전략을 적용합니다. 나는 새로운 전략을 추가 할 때마다 빈에서 코드 변경이 필요하기 때문에 위임자를 인스턴스화하지 않으려 고합니다.
배포 할 때 발견 한 모든 구현을 컨테이너가 주입하도록하는 것이 훨씬 좋습니다. 이것을 달성하기위한 합리적인 방법이 있습니까?
감사합니다.
당신은 그 자체가 코드 변경 (새로운 전략 클래스)입니다 아마 있는지, 새로운 전략을 추가하는 경우? 전략 수업이 공장에 등록되어야하고 기본 프로세서가 일치하는 구현을 제공하도록 공장에 요청할 수 있어야하는 것 같습니다. –
매우 사실. 간단히 공장에 등록 할 수 있습니다. 목표는 자동으로 등록되도록하는 것입니다. – babernathy