【发布时间】:2011-01-29 20:30:17
【问题描述】:
我认为这是一个非常基本的问题,但是在谷歌搜索之后我似乎找不到答案。
我需要的是一种在 Spring bean 构建期间使用 log4j 记录一些自定义输出的方法。我有一个名为 ResponderFactory 的工厂类(在 Spring 中用作实例工厂),它的工厂方法可以抛出 2 种不同类型的异常。
public CollectorResponder collectorResponder(String inputQueueName) throws ConfigurationException, BrokerConnectionException {}
现在,通常我可以将对该方法的调用包装在一个带有 2 个 catch 子句的 try-catch 块中,以处理每个异常的日志记录情况。但是,如果我使用 Spring 将使用工厂创建的 CollectorResponder 注入另一个类,我看不出这是怎么可能的。
<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 bean 时捕获这些异常。现在,当我使用new CollectorResponder(...) 进行实例化时,我正在处理的是CollectorConsumer。
有什么办法可以做到吗?
【问题讨论】:
标签: java spring logging dependency-injection jakarta-ee