java - 如何验证连接池返回的连接对象?

标签 java jdbc jboss connection-pooling

我正在对 JBOSS AS 中配置的数据源进行 jndi 查找。代码如下。

initialContext = new InitialContext(props);

dataSource = (DataSource)initialContext.lookup(bundle.getString("jndiName"));

connection = dataSource.getConnection();

这段代码被放置在servlet的doPost中。我也安全地打电话

connection.close()

使用连接对象后。

我的数据源配置有以下条目

<min-pool-size>1</min-pool-size>
<max-pool-size>1</max-pool-size>

根据我对连接池的理解,每次我向 servlet 发出请求时,datasource .getConnection() 调用都会返回相同的连接对象(因为我已指定最小和最大池大小为1 并且调用 close 不会完全关闭数据库连接)。

现在我如何验证是否返回了相同的连接对象?

最佳答案

您实际上无法确定它是同一个连接。与数据库的连接可能有问题,因此必须创建另一个连接。为什么要验证连接?也许你可以保存哈希值并比较它们?

关于java - 如何验证连接池返回的连接对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14211586/

相关文章:

java - gwt-log 配置

java - 播放解码的 Speex 数据时,我听到的都是静态的

java - 如何避免 TomEE 的 JDBC 连接池的数据库连接停滞?

java - 无法在 Wildfly 服务器中部署 WAR 文件 - 扫描发现复制的文件内容不完整以供部署

spring - 为托管在不同服务器上的 Web 应用程序实现 SSO

java - 从 Runtime.getRuntime().exec(command) 运行的外部进程从哪里获取内存?

java - 使用过滤器将请求转发到另一个休息服务

Java SQLException 与 JDBC - SQLITE_MISUSE

multithreading - 如何管理服务器上的数据库连接?

java - 如何在 Jackson 的 ObjectMapper 上添加 Jdk8Module