我有一个{j}页面调用的BIRT report
,它将报告参数传递给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连接问题的帮助将不胜感激。
答案 0 :(得分:1)
通过各种级别的各种配置参数的优化来解决上述问题。首先,我们需要知道平均值是多少。 DB的响应时间,因为在获取大量数据时,数据库可能需要很长时间,而查看器会话(默认情况下是Http Session的子部分)可能已经结束。这直接导致连接在BIRT Web Viewer会话结束后被触发,并且没有人可以从DB获取响应。要避免必须正确设置Viewer属性的viewer.session.timeout
属性(在我的情况下,我已将其设置为1200秒)。其次在Eclipse-BIRT IDE和属性编辑器集{{1}中选择数据源}属性到ODA Data Source->&Auto Commit
。这解决了我的问题,如果您使用连接池中间件(如PgBouncer),那么还要检查其配置文件并正确优化它以处理与Db连接相关的问题。