2009-06-23 7 views
0

Wie mische ich BeanNameAutoProxyCreator und (Transaction) ProxyFactoryBean in einer Weise, dass es nur einen Proxy gibt? Ich möchte einen Proxy mit JamonInterceptor erstellen, aber einige haben auch eine Transaktion Interceptor/Factory Bean definiert und diese erscheinen als $ ProxyXYZ in Jamon.mischen autoproxycreator und proxyfactories im frühjahr

I verwenden Feder 2.5.6

Antwort

1

TransactionProxyFactoryBean verwendet wird, einen Proxy für eine bestimmte Ziel bean zu erzeugen, während BeanNameAutoProxyCreator Proxies für mehrere Bohnen erzeugt. Es liegt an dir, sicherzustellen, dass die nicht zusammenstoßen.

Welchen Bean-Namen verwenden Sie für Ihre Transaktion-Proxy-Bean? Wird dieser Bean-Name vom BeanNameAutoProxyCreator abgefangen? Wenn dies der Fall ist, wird TransactionProxyFactoryBean immer den Typ der Zielklasse verdecken, das kann man nicht vermeiden.

+0

Der BeanNameAutoProxyCreator entspricht * Service und * Dao. Die (TransAction) ProxyFactoryBean ist meistens ein * Service Name mit einem Ziel namens * ServiceTarget. Ich ändere die Konfiguration von der Zuordnung des JamonInterceptor für jede Bean, um es mit dem BeanNameAutoProxyCreator – Salandur

+0

zuzuteilen Können wir den Interceptor von TransactionProxyFactoryBean in die Interceptor (InterceptorNames) -Liste von BeanNameAutoProxyCreator zusammen mit anderen Interceptoren (falls überhaupt) übergeben, so dass nur ein Proxy erstellt wurde? –