0

我有一个使用 JDBC (ojdbc6.jar) 和 BoneCP 连接到 Oracle DB 的 servlet。我现在需要将我的使用 BoneCP 的代码移植到可以在 WebLogic 中开箱即用的东西上,而不需要在包中包含 BoneCP。

推荐的方法是什么?我可以使用哪些 WebLogic 功能,特别是获得与 BoneCP 等效的功能:

  • 表现
  • 能够记录失败的 SQL 语句
  • 从丢失的数据库连接中自动恢复

提前致谢。

4

1 回答 1

0

最好的方法是创建一个指向您的数据库的标准 Oracle JDBC 连接池。根据您的需要(连接数等)对其进行调整。接下来,您需要从您的代码中重构对您以前的连接池实现的任何显式引用。如果您一直在代码中使用 java.sql.* 接口,那么应该很少或根本没有引用。

一旦所有这些都被重构,您将只有一点代码(或配置文件)告诉您的应用程序javax.sql.DataSource从给定的 JNDI 名称中恢复某些实现并Connections退出它。其余的应该是一样的——只要做任何你需要的事情并关闭你的,ResultSets就像你到目前为止一直在做的那样。StatementsConnections

关于您的问题,您将在此处找到有关如何监控连接池及其故障恢复策略的大量信息(取决于您的应用服务器版本,我将使用过的版本粘贴到此处):

http://docs.oracle.com/cd/E15051_01/wls/docs103/jdbc_admin/jdbc_datasources.html

关于性能,我没有准确的数据,也没有比较两种实现的基准;为了您的安宁,我想说我从来没有在连接池实现中发现数据库性能问题——这并不意味着它不存在,但它是我寻找它的最后一个地方;)

于 2014-05-18T19:39:06.177 回答