gpt4 book ai didi

quarkus - 如何增加 Quarkus 中的事务超时?

转载 作者:行者123 更新时间:2023-12-02 18:16:11 30 4
gpt4 key购买 nike

我的 application.properties 文件中有一些配置:

...
quarkus.datasource.url=jdbc:postgresql://...:5432/....
quarkus.datasource.driver=org.postgresql.Driver
quarkus.datasource.username=user
quarkus.datasource.password=password
quarkus.hibernate-orm.database.generation=update
...

我有一个带有 @Transactional 方法的调度程序,需要很长时间才能完成执行:

@ApplicationScoped
class MyScheduler {

...

@Transactional
@Scheduled(every = "7200s")
open fun process() {

... my slow proccess goes here...
entityManager.persist(myObject)

}
}

然后,事务方法收到如下超时错误:

2019-06-24 20:11:59,874 WARN  [com.arj.ats.arjuna] (Transaction Reaper) ARJUNA012117: TransactionReaper::check timeout for TX 0:ffff0a000020:d58d:5cdad26e:81 in state  RUN

2019-06-24 20:12:47,198 WARN [com.arj.ats.arjuna] (DefaultQuartzScheduler_Worker-3) ARJUNA012077: Abort called on already aborted atomic action 0:ffff0a000020:d58d:5cdad26e:81

Caused by: javax.transaction.RollbackException: ARJUNA016102: The transaction is not active! Uid is 0:ffff0a000020:d58d:5cdad26e:81

我相信我必须增加事务方法的超时时间。但我不知道如何才能做到这一点。

有人可以帮助我吗?

谢谢!

最佳答案

似乎这已经改变 -> 现在可以设置事务超时:

https://quarkus.io/guides/transaction

您可以通过属性配置默认事务超时,该超时适用于事务管理器管理的所有事务:

quarkus.transaction-manager.default-transaction-timeout = 240s

-> 指定为持续时间(java.time.Duration 格式)。默认为 60 秒

关于quarkus - 如何增加 Quarkus 中的事务超时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56746385/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com