gpt4 book ai didi

java - 将@Transactional注释添加到 'onMessage'方法中

转载 作者:行者123 更新时间:2023-12-01 12:21:28 26 4
gpt4 key购买 nike

我发现类似的问题here但没有找到关于后端(数据库)事务管理的明确答案

我当前的项目是创建生产者/消费者,让消费者消化JMS消息并保存在数据库中。由于应用程序的后端由JPA管理,因此保持整个流程的事务性至关重要。我的问题是,如果将 @Transactional 注释放在经典的 onMessage 方法上会有什么缺点?如果这样做会带来潜在的性能挑战吗?

最佳答案

唯一的问题可能是整个队列过程花费的时间太长并且连接在操作过程中关闭。除此之外,如果您为整个队列过程而不是每个特定服务方法启用事务,那么理论上性能应该是相同的。

最好启用two phase commit (也称为 XA 事务)用于每个队列进程。然后,将每个特定服务方法定义为 @Transactional 并按预期与数据库交互。最后,XA 事务将执行 @Transactional 服务方法完成的所有提交。请注意,使用此方法确实会影响您的表现。

关于java - 将@Transactional注释添加到 'onMessage'方法中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26636295/

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