首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hibernate:关于自定义@ transaction ( timeout )的默认事务超时

Hibernate:关于自定义@ transaction ( timeout )的默认事务超时
EN

Stack Overflow用户
提问于 2017-08-14 22:23:47
回答 1查看 1.8K关注 0票数 6

在我的项目中,它是基于Spring Boot,Hibernate和PostgreSQL (使用HikariCP)构建的,我想为整个应用程序->设置事务超时,我只是希望终止所有花费太长时间的事务,因为这些事务可以由用户请求启动,并且很容易耗尽整个连接池。

我知道一些设置默认事务超时的方法,例如通过Spring Boot属性spring.transaction.default-timeout或在HibernateTransactionManager上设置defaultTimeout属性。这两种解决方案都运行得很好。

然而,在许多地方,长事务在项目中是可以的,我不希望在那里有超时(覆盖默认行为)。我尝试在这些地方使用带有指定timeout参数:@Transactional(timeout = 10)@Transactional,但它不会覆盖仍然使用的默认全局值。

要实现我的需求,最糟糕的方法是定义一个自定义注释,该注释将使用默认超时覆盖@Transactional,并在整个项目中使用此注释,出于多种原因,我不希望这样做。

目前,我不知道有任何其他解决方案。没有更好的东西了吗?谢谢。

EN

回答 1

Stack Overflow用户

发布于 2019-12-13 02:29:00

我建议将长时间运行的作业移动到单独的服务应用程序中,在该应用程序中可以设置更长的事务超时。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45676750

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档