是否有一种方法可以为春季的DataSourCetransactionManager的交易超时设置实时计时器



,据我所知,Spring DataSourCetransactionManager中事务超时的默认行为是,它根据事务AOP设置来检查交易的开始时间并设置交易的限制时间。在这些之后,它会检查当前时间是否超过了每次通过数据源执行查询的限制时间,如果是,则TransactionManager会抛出TrassActionTimeDoutOutException。

由于上述内容,当事务服务只有一个查询执行时,我不能依赖交易限制时间。

是否有一种方法为DataSourCetransactionManager设置实时事务计时器,该计时器基于计时器线程?

语句/查询级超时(与事务级超时(可能对您有用。根据您的设置,有很多方法可以设置它们:

  • javax.persistence.query.timeout查询提示
  • Hibernate的Query.setTimeout()
  • JDBCTemplate.setQueryTimeout()(这也可以在全球设置(
  • 使用普通JDBC,我们可以在StatementPreparedStatement
  • 上设置查询超时

语句级别的超时需要驱动程序支持,因此该行为可以因实现而有所不同。另外,如果存在等不同寻常的情况,例如网络问题(但是您通常也可以设置网络级超时。(

相关内容

  • 没有找到相关文章

最新更新