Spring AOP и транзакции добавляют пользовательские перехватчики - PullRequest
1 голос
/ 14 сентября 2010

Мое весеннее определение относительно транзакции определено следующим образом:

<bean id="txInterceptor"
    class="org.springframework.transaction.interceptor.TransactionInterceptor">
    <property name="transactionManager" ref="transactionManager"/>
</bean>

<aop:config>
    <aop:pointcut id="defaultServiceOperation"
          expression="execution(* x.y.service.*Service.*(..))"/>
    <aop:advisor pointcut-ref="defaultServiceOperation"
          advice-ref="defaultTxAdvice"/>
</aop:config>

<tx:advice id="defaultTxAdvice">
    <tx:attributes>                        
         <tx:method name="*"/>
    </tx:attributes>
</tx:advice>

Теперь я хотел бы добавить несколько дополнительных перехватчиков, которые содержит мое приложение, которые будут запускаться перед каждым вызовом перехватчика транзакции.т.е. я хотел бы добавить к pointcut 'defaultServiceOperation' другой совет, или добавить к pre-перехватчикам defaultTxAdvice.Что-то вроде:

<property name="preInterceptors">
      <list>
           <ref bean="optimisticLockingInterceptor"/>
           <ref bean="deadLockingInterceptor"/>            
      </list>
</property>

Возможно ли это и как мне это сделать?

1 Ответ

1 голос
/ 31 января 2011

Сколько может быть предоставлено перехватчиков, TransactionInterceptor должен быть указан первым в списке перехватчиков, который вы упомянули.

...