2009-06-23 5 views
0

Comment puis-je mélanger BeanNameAutoProxyCreator et (Transaction) ProxyFactoryBean de telle sorte qu'il n'y a qu'un seul proxy? Je veux créer un proxy avec JamonInterceptor, mais certains ont également un intercepteur de transaction/factory bean défini et ceux-ci apparaissent comme $ ProxyXYZ dans Jamon.mélange autoproxycreator et proxyfactories au printemps

j'utiliser ressort 2.5.6

Répondre

1

TransactionProxyFactoryBean est utilisé pour générer un proxy pour un bean cible spécifique, tandis que BeanNameAutoProxyCreator crée des procurations pour de multiples grains. C'est à vous de vous assurer que ceux-ci ne s'affrontent pas.

Quel nom de bean utilisez-vous pour votre bean traité par transaction? Ce nom de bean est-il attrapé par le BeanNameAutoProxyCreator? Si c'est le cas, alors le TransactionProxyFactoryBean va toujours obscurcir le type de la classe cible, il n'y a pas moyen d'éviter cela.

+0

Le BeanNameAutoProxyCreator correspond à * Service et * Dao. Le (TransAction) ProxyFactoryBean est la plupart du temps un nom de service * avec une cible nommée * ServiceTarget. Je modifie la configuration d'assiging le JamonInterceptor pour chaque bean, à l'assigeant en utilisant le BeanNameAutoProxyCreator – Salandur

+0

Pouvons-nous passer intercepteur TransactionProxyFactoryBean dans la liste des intercepteurs (interceptorNames) de BeanNameAutoProxyCreator, avec d'autres intercepteurs le cas échéant, de sorte qu'un seul proxy créé? –