我有一个使用 JDBC (ojdbc6.jar) 和 BoneCP 连接到 Oracle DB 的 servlet。我现在需要将我的使用 BoneCP 的代码移植到可以在 WebLogic 中开箱即用的东西上,而不需要在包中包含 BoneCP。
推荐的方法是什么?我可以使用哪些 WebLogic 功能,特别是获得与 BoneCP 等效的功能:
- 表现
- 能够记录失败的 SQL 语句
- 从丢失的数据库连接中自动恢复
提前致谢。
我有一个使用 JDBC (ojdbc6.jar) 和 BoneCP 连接到 Oracle DB 的 servlet。我现在需要将我的使用 BoneCP 的代码移植到可以在 WebLogic 中开箱即用的东西上,而不需要在包中包含 BoneCP。
推荐的方法是什么?我可以使用哪些 WebLogic 功能,特别是获得与 BoneCP 等效的功能:
提前致谢。
最好的方法是创建一个指向您的数据库的标准 Oracle JDBC 连接池。根据您的需要(连接数等)对其进行调整。接下来,您需要从您的代码中重构对您以前的连接池实现的任何显式引用。如果您一直在代码中使用 java.sql.* 接口,那么应该很少或根本没有引用。
一旦所有这些都被重构,您将只有一点代码(或配置文件)告诉您的应用程序javax.sql.DataSource
从给定的 JNDI 名称中恢复某些实现并Connections
退出它。其余的应该是一样的——只要做任何你需要的事情并关闭你的,ResultSets
就像你到目前为止一直在做的那样。Statements
Connections
关于您的问题,您将在此处找到有关如何监控连接池及其故障恢复策略的大量信息(取决于您的应用服务器版本,我将使用过的版本粘贴到此处):
http://docs.oracle.com/cd/E15051_01/wls/docs103/jdbc_admin/jdbc_datasources.html
关于性能,我没有准确的数据,也没有比较两种实现的基准;为了您的安宁,我想说我从来没有在连接池实现中发现数据库性能问题——这并不意味着它不存在,但它是我寻找它的最后一个地方;)