【问题标题】:When does Grails close/flush Hibernate session?Grails 何时关闭/刷新 Hibernate 会话?
【发布时间】:2014-02-18 17:34:05
【问题描述】:

Grails 2.2.2 出现间歇性问题。

控制器 1:使用 GORM 保存对象(例如,book.save()) 控制器 2:在同一张表上使用 Groovy.sql 进行本机查询 (select * from BOOK...)

两个控制器都返回 render ... as JSON,而不是使用 GSP。

浏览器立即连续命中两个控制器:控制器1命中控制器2后的回调。

通常这可以正常工作,因为我假设底层 Hibernate 会话在完成请求后被刷新并关闭。但在极少数情况下,似乎在第二个控制器触发时还没有插入行。但是,如果我手动刷新控制器,行将正确插入 - 因此刷新正在发生,只比我预期的晚了几分之一秒。

浏览器是否有可能在刷新会话之前将响应视为已完成?

【问题讨论】:

    标签: grails


    【解决方案1】:

    见:http://jira.grails.org/browse/GRAILS-11049#comment-79366

    看起来调用 Grails 正在刷新 servlet 输出流,因此直到浏览器看到完整的响应之后,Hibernate 会话才被刷新。

    【讨论】:

      猜你喜欢
      • 2013-10-08
      • 1970-01-01
      • 1970-01-01
      • 2014-03-11
      • 1970-01-01
      • 2021-10-18
      • 1970-01-01
      • 2018-09-27
      • 1970-01-01
      相关资源
      最近更新 更多