Je pense que c'est une question plutôt basique, mais après Google, je n'arrive pas à trouver la réponse. Ce dont j'ai besoin, c'est d'un moyen d'enregistrer une sortie personnalisée avec log4j pendant la construction du haricot de printemps. J'ai une classe d'usine appelée ResponderFactory
(utilisée comme usine d'instance au printemps) avec une méthode d'usine qui peut lancer 2 types d'exceptions différents.Exceptions de journalisation lors de l'injection de haricots
public CollectorResponder collectorResponder(String inputQueueName) throws ConfigurationException, BrokerConnectionException {}
Maintenant, normalement je pourrais envelopper un appel à cette méthode dans un bloc try-catch avec 2 clauses de prises pour gérer les situations d'exploitation pour chacune des exceptions. Cependant, si j'utilise Spring pour injecter ce CollectorResponder
, créé avec l'usine, dans une autre classe, je ne vois pas comment cela est possible.
<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>
Encore une fois, je veux attraper ces exceptions lorsque le haricot collectorResponder
est instancié. En ce moment je traite avec ceci est CollectorConsumer
quand j'instancie en utilisant new CollectorResponder(...)
.
Y at-il un moyen de le faire?
Bien sûr, juste après avoir posté cette question, je me suis rendu compte qu'il serait stupide * pas * de noter les exceptions dans l'usine elle-même, ce que j'ai fini par faire. Merci pour la réponse! –