Java Oracle JDBC连接池

Java Oracle JDBC连接池,java,oracle,jdbc,connection-pooling,Java,Oracle,Jdbc,Connection Pooling,1) 哪种oracle jdbc连接池实现更适合使用? (我的项目不需要什么特别的东西。) 2) 使用连接池创建单例是一种好的做法吗 3) 连接池是线程安全的吗 例如,我将得到: OracleDataSource ods = new oracle.jdbc.pool.OracleDataSource(); 我需要在后端的不同部分创建连接 我应该只创建一次OracleDataSource对象并设置必要的参数,对吗 例如: ods.setURL(URL); ods.setUser(USER); o

1) 哪种oracle jdbc连接池实现更适合使用? (我的项目不需要什么特别的东西。)

2) 使用连接池创建单例是一种好的做法吗

3) 连接池是线程安全的吗

例如,我将得到:

OracleDataSource ods = new oracle.jdbc.pool.OracleDataSource();
我需要在后端的不同部分创建连接

我应该只创建一次OracleDataSource对象并设置必要的参数,对吗

例如:

ods.setURL(URL);
ods.setUser(USER);
ods.setPassword(PASS);
我应该如何在应用程序的其他部分提供对此连接池对象的访问? 我应该为此创建一个带有连接池对象字段的单例吗

这是我们第一次决定在这个应用程序中为DB添加连接(一些参数现在应该存储在DB中)。你能给我澄清一下关于AppServer的观点吗

提前谢谢你

  • 没关系。选择一个易于与应用程序容器一起使用的应用程序
  • 让应用服务器处理连接池。你不应该写它
  • 池可能是,但连接本身不是
  • 您的附加代码示例:

    OracleDataSource ods = new oracle.jdbc.pool.OracleDataSource();
    
    只有当您想保证不再切换数据库供应商时,才应该这样做。一旦编写了一行使用Oracle类的代码,您就会陷入困境


    JDBC是基于接口的。它的设计目的是通过交换驱动程序jar来切换数据库。我建议您学习如何这样做。

    您的问题缺乏背景,无法回答,这是一种含糊不清的方式。您可以从它开始,它可能会帮助您阅读中关于如何有效地询问StackOverflow的内容。很好,你已经添加了你所做的,但是这篇文章有太多的问题。堆栈溢出不是教程站点。你需要把话题缩小到一个主题(但你可以发布多个问题)。不要问“什么是最好的”或者任何看起来答案是意见的问题。谢谢!在你回答之后,我扩展了问题的描述。你能提供我新问题的更多信息吗?你可以使用通用连接池(UCP)作为连接池。有关更多详细信息,请参阅UCP指南()。