BIRT会议在Vertica开放

时间:2015-02-18 20:52:55

标签: eclipse jdbc birt vertica

在开发BIRT报告时,我在管理Vertica中的连接时遇到了很大问题。基本的想法是会话永远不会死,所以我总是打到连接上限。当然,这是一个问题,因为除非你使用close_all_sessions()来核对每个人,否则根本就不能使用数据库。

这几乎发生在每一个发展阶段。首先,在Esproc中,当您开发底层逻辑时......如果在connection.close()之前程序中存在错误,则连接保持打开状态,Esproc会在下次执行时打开一个新的连接。当你有几个用户在网络上开发东西时,这很快就会增加。

接下来,在Eclipse中它也是一样的。你打开一个报告,只要你保持Eclipse打开,Eclipse就会创建十几个连接。然后,当你运行报告时,它会创建另一堆连接,完全忽略它已经存在的那些...如果你的报告中有错误,那么十几个额外的东西将不会关闭。

然后在我们的网站上,同样的事情......运行报告的问题,繁荣,连接将永远不会关闭。我已经开了两个星期,完全没有活动。当我重新启动Tomcat时,它们才消失。

我在这里结束了。似乎没有任何方法可以在Vertica中设置会话超时,我甚至不知道从哪里开始寻求解决这些问题。在我能找到的任何地方,连接超时设置为20秒...所以我希望连接在达到那个时间后消失,但当然情况并非如此。

我真的不知道该怎么做......我在这里急需一些帮助。任何人都可以给我一个线索吗?我已经在这里呆了两天了,我的脑子已经不能再接受了。

1 个答案:

答案 0 :(得分:1)

您希望使用连接池而不是直接JDBC访问,它会消除Tomcat上的连接问题并提高性能。

Visit this article了解更多信息。

  • [Tomcat home] /conf/server.xml
  • 中定义连接池(CP)
  • 将CP链接到 [Tomcat home] /conf/context.xml
  • 中的Web应用程序
  • 在Tomcat上安装Apache Probe或类似的东西,这将有助于测试CP是否正确定义。
  • 在BIRT报告中,使用JNDI URL属性将数据源链接到CP

这将解决网站的问题,但不会解决Eclipse设计师的问题。尝试升级到最新的birt& jdbc版本。