Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在没有JNDI的情况下管理数据库连接的最佳方法_Java_Jdbc_Connection Pooling_Jndi - Fatal编程技术网

Java 在没有JNDI的情况下管理数据库连接的最佳方法

Java 在没有JNDI的情况下管理数据库连接的最佳方法,java,jdbc,connection-pooling,jndi,Java,Jdbc,Connection Pooling,Jndi,我有一个网站,目前有1000个页面浏览量。我预计在未来它将达到每天3万英镑左右。现在是我管理数据库连接的问题。 目前我只是直接从java程序连接到DB。我知道这是世界上最糟糕的设计。但目前我写的是这样的。 我计划使用JNDI管理连接池。但问题是我的主机提供商不支持JNDI 有人能建议我如何在没有jndi的情况下管理DB连接吗?连接池本身并不要求jndi获得连接。您还可以独立于JNDI设置和使用连接池。让我们假设您希望使用更好的连接池之一,那么您可以在中找到“原始”JNDI较少的设置详细信息 以下

我有一个网站,目前有1000个页面浏览量。我预计在未来它将达到每天3万英镑左右。现在是我管理数据库连接的问题。 目前我只是直接从java程序连接到DB。我知道这是世界上最糟糕的设计。但目前我写的是这样的。 我计划使用JNDI管理连接池。但问题是我的主机提供商不支持JNDI


有人能建议我如何在没有jndi的情况下管理DB连接吗?

连接池本身并不要求jndi获得连接。您还可以独立于JNDI设置和使用连接池。让我们假设您希望使用更好的连接池之一,那么您可以在中找到“原始”JNDI较少的设置详细信息

以下是本教程的摘录:

ComboPooledDataSource cpds = new ComboPooledDataSource();
cpds.setDriverClass( "org.postgresql.Driver" ); //loads the jdbc driver
cpds.setJdbcUrl( "jdbc:postgresql://localhost/testdb" );
cpds.setUser("swaldman");
cpds.setPassword("test-password"); 
在应用程序启动期间创建一次数据源,并将其存储在上下文中的某个位置。然后可以按如下方式获取和使用连接:

Connection connection = null;
// ...

try {
    connection = cpds.getConnection();
    // ...
} finally {
    // ...
    if (connection != null) try { connection.close(); } catch (SQLException ignore) {}
}
是的,最终关闭仍然是必需的,否则连接池将无法将连接恢复到池中以供将来重用,它将耗尽连接