今天测试了下插入性能发现用注解配置的事物不回滚,仔细找了找原因。
首先确认了下配置是对的。

	<!-- 配置事务管理器 -->
	<bean id="transactionManager"
		class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
		<property name="dataSource" ref="dataSource" />
	</bean>

	<!-- 使用annotation定义事务 -->
	<tx:annotation-driven transaction-manager="transactionManager"
		proxy-target-class="true" />

然后检查注解

@Service
@Transactional(propagation=Propagation.REQUIRED) 
public interface LogService extends BaseService<Log>{
	Log dataToLog(Data data);
	
	Log selectLostContact(Date date);
	
	void insert(Iterable<Log> logs);
	
	void addBatch(List<Log> item);
}

发现都没啥问题。然后把propagation改成了只读,发现还能提交。说明事物根本没配置成功。然后把注解放到实现类上试了下。发现可以了,事物正常了,回滚也正常了。md….原来接口上的注解不继承。。。
spring版本4.0.1

Leave a reply

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> 

required