Mule 3.3 spring 3.1 hibernate 3.6事务管理



我正在开发一个应用程序,它涉及到mule、spring、hibernate和注释。我使用的是org. springframework.com .hibernate3. hibernatetransactionmanager。现在的问题是:

我在mule中有一些组件,这些组件使用hibernate根据条件将数据记录到db中。我使用了@Transactional,它插入少量数据,然后在方法范围完成时提交事务。但我想要的行为是:第一个组件根据某些条件插入数据,但事务不应立即提交,再次我的第二个组件是java类,应该再次插入一些数据,然后第三等,如果任何组件失败,在所有组件中执行的所有查询都应该回滚。所有这些组件都是独立的Java类

我怎样才能达到这样的行为。

谢谢你,

让你的整个组件执行链在一个事务中。然后它会满足你的期望。如果所有组件都在同一个spring应用程序上下文中,则很容易做到这一点。在这种情况下,您需要做两件事:

  1. 在需要在事务中的组件类或特定方法上添加@Transactional注释。默认情况下,事务方法使用REQUIRED Propagation设置,这将允许执行链中的所有方法仅合并到一个事务。
  2. 确保Spring可以扫描所有组件。

    @ transactional@Component("lbsProviderApiCallJob")公共类LbsProviderApiCallJoImpl实现LbsProviderApiCallJob, ApplicationContextAware {

如果你的所有组件都不在spring上下文中。

相关内容

  • 没有找到相关文章

最新更新