我有一个使用JDBC(ojdbc6.jar)和BoneCP连接到Oracle DB的servlet。我现在需要将使用BoneCP的代码移植到开箱即用的WebLogic中,而不需要在程序包中使用BoneCP。
推荐的方法是什么?我可以使用什么WebLogic功能,特别是获得与BoneCP相同的功能:
提前致谢。
答案 0 :(得分:0)
最好的方法是创建指向数据库的标准Oracle JDBC连接池。根据您的需要(连接数等)进行调整。接下来,您需要从代码中重构任何对前连接池实现的显式引用。如果您在代码中使用过java.sql。*接口,则应该很少甚至没有引用。
完成所有重构之后,您将只有一些代码(或配置文件)告诉您的应用程序从给定的JNDI名称恢复实现javax.sql.DataSource
并从中获取Connections
的内容。剩下的应该是相同的 - 只要做你需要的事情,然后关闭你的ResultSets
,Statements
和Connections
,直到现在为止。
关于您的问题,您可以在此处找到有关如何监控连接池及其失败恢复策略的详细信息(取决于您的应用服务器版本,我在此粘贴我使用过的那个):
http://docs.oracle.com/cd/E15051_01/wls/docs103/jdbc_admin/jdbc_datasources.html
关于性能,我没有比较两种实现的准确数据或基准;为了你的安宁,我会说你从来没有在连接池实现中发现数据库性能问题 - 这并不意味着它不存在,但它是我寻找它的最后一个地方;)