【问题标题】:BIRT report not releasing Connection to Database?BIRT 报告未发布与数据库的连接?
【发布时间】:2014-03-01 08:41:12
【问题描述】:

我有一个 BIRT report,它由一个 jsp 页面调用,该页面将报告参数传递给 BIRT report。现在,当执行报告时,BIRT 会触发对数据库的数据查询,并在查询生成结果后成功关闭连接。

但有时DB 保存为查询(I have include a snapshot of PG_STAT_ACTIVITY for verification purpose) 建立的连接。之后,BIRT Web Viewer 生成一个空报告。不仅包中的所有其他BIRT reports 也停止工作并生成空白Web Viewer 页面(I have also included a snapshot of the Blank Web Viewer)

任何有关 BIRT 连接问题的帮助将不胜感激。

【问题讨论】:

  • 您在 IDE 中设计报表时遇到过同样的问题吗?
  • 不,在 IDE 中设计报告时,它们可以正常工作。
  • 在war以及apache/jboss应用服务器中仔细检查你的mysql jar版本
  • 报告通过 jdbc 连接到 postgres sql 数据库,并通过 pgbouncer 完成连接池。但是org.postgresql.jar版本和jboss应用服务器版本的jar版本没有冲突。

标签: java reporting-services connection birt


【解决方案1】:

上述问题通过在各个级别的各种配置参数的优化得到解决。首先我们需要知道什么是平均值。数据库的响应时间,因为在获取大量数据时,数据库可能需要很长时间,而查看器会话(默认为 Http 会话的子部分)可能已经结束。这直接导致连接被触发,因为 BIRT Web Viewer 会话结束并且没有人可以从数据库中取回响应。为避免这种viewer.session.timeout Viewer 属性的属性必须正确设置(在我的情况下,我已将其设置为 1200 秒)。其次在 Eclipse-BIRT IDE 和属性编辑器中选择数据源将ODA Data Source->&Auto Commit 属性设置为@ 987654323@。这解决了我的问题,如果您使用的是连接池中间件(如 PgBouncer),那么还要检查其配置文件并对其进行适当优化以处理与 Db 连接相关的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多