이것은 꽤 기본적인 질문이라고 생각하지만 주위를 인터넷 검색 한 결과 대답을 찾을 수없는 것 같습니다.빈 주입 동안 예외 로깅
내가 필요로하는 것은 Spring bean 구축 중에 log4j로 사용자 정의 출력을 로그하는 방법이다. 두 가지 다른 유형의 예외를 throw 할 수있는 팩터 리 메서드로 ResponderFactory
(스프링의 인스턴스 팩토리로 사용됨)이라는 팩토리 클래스가 있습니다.
public CollectorResponder collectorResponder(String inputQueueName) throws ConfigurationException, BrokerConnectionException {}
지금, 일반적으로 나는 예외 각각에 대한 로깅 상황을 처리하기 위해 2 개 캐치 조항으로 시도-catch 블록이 메소드에 대한 호출을 래핑 할 수있다. 그러나 공장에서 생성 된
CollectorResponder
을 삽입하기 위해 Spring을 사용하는 경우 다른 클래스에 어떻게 이것이 가능하지 않은지 알 수 없습니다.
<bean id="responderFactory" class="com.package.ResponderFactory">
<constructor-arg index="0" ref="basicDispatcher" />
<constructor-arg index="1" value="http://localhost:9000" />
</bean>
<bean id="collectorResponder"
class="com.package.CollectorResponder"
factory-bean="responderFactory" factory-method="collectorResponder">
<constructor-arg value="collector.in" />
</bean>
<bean id="collectorConsumer" class="com.package.CollectorConsumer">
<constructor-arg ref="collectorResponder" />
</bean>
는 다시, 나는 collectorResponder
빈을 인스턴스화 될 때 이러한 예외를 잡으려면. 지금은 new CollectorResponder(...)
을 사용하여 인스턴스화 할 때 CollectorConsumer
을 처리하고 있습니다.
내가 할 수있는 방법이 있습니까?
물론이 질문을 게시 한 직후 공장에서 예외 사항을 기록하는 것이 어리석은 일이 아니라는 것을 깨달았습니다. 응답 주셔서 감사합니다! –