gpt4 book ai didi

java - 当我已经有一个 JDBC 连接池时如何使用 Vaadin SQLContainer

转载 作者:行者123 更新时间:2023-11-30 09:01:32 25 4
gpt4 key购买 nike

Vaadin 7 提供 SQLContainer执行。 Book of Vaadin说要使用它的 JDBC 连接池的任何一个实现。但我已经在使用 Tomcat JDBC Connection Pool执行。从一个池中提取另一个池似乎是一件坏事。

为了继续使用 Tomcat 池,我实现了 com.vaadin.data.util.sqlcontainer.connection.JDBCConnectionPool界面。该接口(interface)需要三种方法:

  • reserveConnection
    我返回从 Tomcat 池中提取的连接。
  • releaseConnection
    我什么都不做。我尝试在连接上调用 close,但实际上关闭了连接而不是将其返回到 Tomcat 池。显然,SQLContainer 已经调用了一次 close,而我对 close 的第二次调用实际上关闭了连接。我收到运行时错误,提示连接未打开。
  • destroy
    我什么都不做。据说此方法只是 Postgres(我正在使用的)某些问题的一些解决方法,但鉴于我实际上使用的是 Tomcat 池,这似乎无关紧要。

➜ 实现该接口(interface)的方法是否正确?

➜ 如果实现该接口(interface)是可行的方法,我这样做是否正确?还有其他我应该解决的问题吗?

我的 Tomcat 池可通过 JNDI 使用,所以我不确定我是否应该使用 Vaadin 类 J2EEConnectionPool .

最佳答案

您实际上应该能够使用 J2EEConnectionPool,正如您在上面自己的回答中所描述的那样。我已经成功地将 J2EEConnectionPool 与 FreeformQuery 一起使用,所以我知道这是有效的。不幸的是,Vaadin 的 TableQuery 实现中显然存在一个错误,导致您看到“连接已关闭”错误。请参阅:http://dev.vaadin.com/ticket/12370

工单建议更改代码,但在我的例子中,我只是用 FreeformQuery 替换了有问题的 TableQuery。

关于java - 当我已经有一个 JDBC 连接池时如何使用 Vaadin SQLContainer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26371577/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com