我在 Fuse (OSGi) 中部署了带有 mybatis-spring 集成 1.0.1 的 mybatis 3.0.4。我在 SQLServer 2008 中创建了一个基本数据库。在 Spring 中,我配置了一个TransactionAwareDataSourceProxy
数据源和一个DataSourceTransactionManager
事务管理器。
现在我已经创建了自己的捆绑包以部署在 Fuse 中,它将一些行插入到数据库中。我已经告诉捆绑包使用配置的数据源和事务管理器。执行逻辑的方法如下所示:
@Transactional(propagation=Propagation.REQUIRED)
public void go(RecsCashContext context) throws ActionException {
当此方法引发异常时,我可以通过查看触发的预期行为来跟踪 Spring。这将我引向 SpringsJtaTransactionManager
和doRollBack(..)
.
所以一切看起来都很有希望,除了当我查看数据库时,果然它处于不稳定状态,因为以前的插入还没有回滚。
我对此一无所知,我正在努力在网上找到任何信息。有什么想法吗?