在JBoss中使用连接池时发布postgres查询超时问题

时间:2017-05-29 12:29:52

标签: postgresql jboss timeout datasource connection-pooling

我正面临以下问题

category
在我的xxx-ds.xml中为xa数据源启用查询超时后,

不一致。我在ds xml文件中添加了以下内容。

ERROR: canceling statement due to user request 
  • 查询超时设置为180秒,这意味着任何sql查询 超过180秒的时间将从应用程序中取消 服务器端。

    但是我面临的问题是不一致的,并且查询会偶尔超时,而不会花费180秒。 我们也在使用连接池。

在搜索stackoverflow时发现this问题,该问题讨论了使用连接池时可能导致此问题的原因。

解决方案建议在postgresql.conf文件中设置statement_timeout设置。但是由于多个应用程序共享数据库服务器,因此在我的数据库环境中启用statement_timeout设置有点困难。 我想有一个解决方案,在使用连接池时有效且一致地终止客户端的超时查询。我正在使用

  • JBoss 4.2.2-GA
  • postgresql 9.2(64位)
  • java 1.7
  • 的PostgreSQL-9.2-1002.jdbc4.jar

1 个答案:

答案 0 :(得分:0)

看起来问题出在postgresql驱动程序9.2上。当我升级到9.3时,问题就解决了。