Я опубликовал это на весенних форумах, извините за xpost.
Я новичок в весне. Я работаю над существующим проектом, который использует Spring 1.2.8 (старый, я знаю) и Java 1.5, поэтому аннотации должны работать.
Я пытаюсь использовать аннотацию @Transactional для конкретного класса, следуя документам по адресу: http://static.springsource.org/spring/docs/1.2.8/reference/transaction.html#d0e6062
Итак, у меня есть что-то вроде этого:
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="DataSource"/>
</bean>
<bean id="MyDAO"
class="com.company.package.dao.spring.MyDAOImpl">
<property name="dataSource" ref="DataSource" />
</bean>
<bean class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator"/>
<bean class="org.springframework.transaction.interceptor.TransactionAttributeSourceAdvisor">
<property name="transactionInterceptor" ref="txInterceptor"/>
</bean>
<bean id="txInterceptor" class="org.springframework.transaction.interceptor.TransactionInterceptor">
<property name="transactionManager" ref="transactionManager"/>
<property name="transactionAttributeSource">
<bean class="org.springframework.transaction.annotation.AnnotationTransactionAttributeSource"/>
</property>
</bean>
и я комментирую свой класс:
@Transactional(propagation = Propagation.REQUIRED)
public class MyDAOImpl extends JdbcDaoSupport implements MyDAO{
...
}
Когда я запускаю его, я вижу в своих журналах отладки, что spring находит все классы:
Код:
01-07-10 12:10:45 DEBUG [DefaultXmlBeanDefinitionParser] Neither XML 'id' nor 'name' specified - using generated bean name [org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator]
01-07-10 12:10:45 DEBUG [DefaultXmlBeanDefinitionParser] Neither XML 'id' nor 'name' specified - using generated bean name [org.springframework.transaction.interceptor.TransactionAttributeSourceAdvisor]
01-07-10 12:10:45 DEBUG [DefaultXmlBeanDefinitionParser] Neither XML 'id' nor 'name' specified - using generated bean name [org.springframework.transaction.annotation.AnnotationTransactionAttributeSource#329f3d]
но после этого нет упоминаний об аннотациях или транзакциях. Я даже не знаю, должны ли они быть. Я проверяю в моем журнале mysql, что запросы не выполняются транзакционно.
Есть идеи?