当前位置: 首页 > 面试题库 >

Java 如何在JDBC中建立连接池?

欧阳正卿
2023-03-14
问题内容

有人可以提供有关如何建立JDBC连接池的示例或链接吗?

从搜索谷歌,我看到这样做的许多不同方式,这相当令人困惑。

最终,我需要代码来返回一个java.sql.Connection对象,但是我在入门时遇到了麻烦。欢迎任何建议。

更新: 没有javax.sqljava.sql没有池连接实现?为什么不最好使用这些?


问题答案:

如果你需要一个独立的连接池,那么我首选的是C3P0而不是DBCP(我在上一个答案中已经提到),在重负载下我对DBCP的问题太多了。使用C3P0非常简单。从文档中:

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");

// the settings below are optional -- c3p0 can work with defaults
cpds.setMinPoolSize(5);
cpds.setAcquireIncrement(5);
cpds.setMaxPoolSize(20);

// The DataSource cpds is now a fully configured and usable pooled DataSource 

但是,如果你在应用程序服务器中运行,则建议使用它提供的内置连接池。在这种情况下,你需要对其进行配置(请参阅应用程序服务器的文档),并通过JNDI检索数据源:

DataSource ds = (DataSource) new InitialContext().lookup("jdbc/myDS");


 类似资料:
  • 问题内容: 我试图理解,我在我的应用程序中使用。我在中编写了以下代码: 我在Windows Xp OS中将4型jdbc连接与oracle 10g EE一起使用 然后我按如下方式检索servlet: 是它还是需要某些配置? 问题答案: 您可以获得第三方库,也可以使用连接池为您提供的Java EE容器(例如,JBoss或WebSphere)。 为此,您可以配置和使用JNDI数据源。 以下是Tomcat

  • 我试图运行一个示例代码。我在我的项目中包括了以下库: SLF4J-JDK14-1.7.10.jar slf4j-api-1.7.10.jar netlib-0.0.4-snapshot.jar bcprov-jdk15on-1.50.jar bcpkix-jdk15on-1.50.jar 原因:java.lang.ClassNotFoundException:org.spongyCastle.jc

  • 问题内容: 我们使用JDBC的标准代码部分是… 问题1:使用连接池时,是否应该在最后关闭连接?如果是这样,合并的目的就不会丢失吗?如果不是,那么DataSource如何知道何时释放Connection的特定实例并可以重用?我对此感到有些困惑,任何指针都表示赞赏。 问题2:以下方法是否接近标准?看起来像是尝试从池中获取连接,并且如果无法建立DataSource,请使用老式的DriverManager

  • 我正在尝试使用重试逻辑来获取JDBC连接,以防出现SQL异常,例如: 我目前无法测试,因此需要一些帮助。 如果我遇到异常,然后重试后可以登录,这将很好地工作。但是如果我们没有得到异常,它将到达finally块并关闭连接。最后试着抓住里面的while循环。 所以如果我关闭我的连接,流动如果达到 while(null==连接) 我的连接对象在关闭后会变为null吗? 或者是否有其他方法来实现重试部分?

  • 我试图用jplumb库做一个流程图。我需要从一个div多个连接。Ex-Div 1应该连接到Div 2和Div 3。我希望源endpoint是相同的,即底部中心。请让我知道应该做些什么来使这项工作谢谢!

  • 问题内容: 我正在使用以下类连接到我的Web服务。我想使这个异步。我怎样才能做到这一点? 问题答案: 除了Ladlestein评论中的所有可能解决方案之外,还有一个简单的答案将所有内容包装在。