从grails应用程序中终止长时间运行的SQL查询

时间:2016-01-06 14:39:03

标签: java oracle grails java-ee

通过提出这个问题我可能看起来很愚蠢 - 但是我想杀死我心中对此有任何疑问......

所以......问题是 -

我们可以从我的应用程序本身触发的 grails 应用程序中止/终止select SQL吗?

通俗地说 -

  • 我的屏幕上有“搜索”和“停止”按钮
    • 搜索按钮上的操作将准备一个选择SQL,这将花费相当长的时间来执行和获取结果
    • 我想通过点击“停止”按钮来中止长时间运行的SQL(不只是应用程序停止等待结果。它应该在后台中止SQL进程)

(我的数据库是Oracle)

请帮我清除这个垃圾。

1 个答案:

答案 0 :(得分:0)

您可能希望使用查询超时。 Grails使用Hibernate实现JPA。

JPA2持久性属性“javax.persistence.query.timeout”允许您设置查询的超时(假设底层JDBC驱动程序支持它)。

所以将以下内容添加到grails-app / conf / Config.groovy:

javax.persistence.query.timeout=9000

该值以毫秒为单位,因此为9秒。