Я думаю, что это довольно простой вопрос, но после поиска в Google я не могу найти ответ.
Мне нужен способ для регистрации некоторого пользовательского вывода с помощью log4j во время создания bean-компонента Spring.У меня есть фабричный класс с именем ResponderFactory
(который используется в качестве фабрики экземпляров в Spring) с фабричным методом, который может генерировать 2 различных типа исключений.
public CollectorResponder collectorResponder(String inputQueueName) throws ConfigurationException, BrokerConnectionException {}
Теперь обычно я могу обернуть вызовэтот метод в блоке try-catch с двумя предложениями 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
.Прямо сейчас я имею дело с CollectorConsumer
, когда я создаю экземпляр, используя new CollectorResponder(...)
.
Можно ли как-нибудь это сделать?