【问题标题】:Committing a transaction with Play Framework使用 Play 框架提交事务
【发布时间】:2012-05-10 05:06:33
【问题描述】:

我有一个长时间运行的过程(视频渲染),其中偶尔会更新数据库以指示进度。但是,如何在不为其他进程锁定数据库的情况下做到这一点。我尝试使用@NoTransaction 注解,但现在数据库似乎没有任何更新。

有没有办法在如此漫长的过程中,只在需要时创建一个事务? IE。搜索对象并将其保存在变量中,然后打开事务,进行更改,保存并关闭事务,以便将其提交到数据库。 (那里可能需要刷新,但这很好)。

有什么建议吗?我只能在 Play 中找到回滚功能!文档。

【问题讨论】:

  • 如果您的工作可以拆分成块,请将工作提取到您使用@Transactional 注释的方法中。

标签: jpa transactions playframework


【解决方案1】:

如果您使用的是 Play 1.2.4,请查看jobs 上的文档。这应该适用于您的任务。

如果您使用的是 Play 2.0,您可能需要查看 here 中的异步编程部分。

【讨论】:

  • 谢谢。问题是这个过程很长,一旦进行第一次更改以跟踪进度,数据库就会被锁定。我现在有一个 Job() 来更新状态,因此它处于不同的事务中
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-06-24
  • 2021-02-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多