【发布时间】:2016-01-04 18:07:09
【问题描述】:
我有一个服务可以读取 xml 并插入 mysql 数据库。可能有大文件或小文件,这些文件将在队列中。我在另一个表中有不同的标志来表示对这些文件所做的事情。如果正在读取一个文件,它会说正在加载,如果它正在等待读取,它会说未读取,如果它在表中,它会说加载。我遇到的问题是在休眠会话完成之前似乎没有设置标志。大部分工作都发生在服务中,但我调用了一个 .groovy 类,它使用 save(flush: true) 设置该状态。有没有办法强制会话在仍在读取时设置该标志,并且在会话完成?
【问题讨论】:
-
问题是您的事务隔离级别不允许在事务未完成时读取数据。您可以不使用事务,使用单独的事务或更改隔离级别以允许“脏读”(或类似的东西)。
-
你能告诉我分开交易的方向吗?