0

美好时光!

Spring 的事务管理器是否使用某种调度程序在超时时使事务失效(如果是,调度程序的检查周期是多少?)还是有另一种机制?

4

2 回答 2

2

不,超时仅在数据库交互时检查,没有单独的线程来强制执行它。因此,停止的连接将不会被释放,并且超时异常可能会在实际截止日期之后很长时间发生。

如果您想确保连接不会以这种方式卡住,请使用连接池功能,例如 c3p0 的 unreturnedConnectionTimeout 或 bonecp 的 closeConnectionWatch。

于 2012-04-05T18:58:30.797 回答
0

来自 Spring 3.0 文档:

事务超时默认为底层事务系统的默认超时,如果不支持超时则无

这适用于@Transactional注释和<tx:advice>切点。

于 2012-04-05T18:49:04.573 回答