如何解决OracleDataSourceFactory,OracleConnectionPoolDataSource和OracleDataSource有什么区别?
OracleDataSourceFactory
,OracleConnectionPoolDataSource
和OracleDataSource
有什么区别?您将在哪种情况下使用它们?
解决方法
之所以会有OracleDataSource
和OracleConnectionPoolDataSource
是因为JDBC标准定义了两种连接类型:
-
JDBC应用程序中常用的
-
java.sql.Connection
-
javax.sql.PooledConnection
由连接池供应商未直接由应用程序使用
OracleDataSource
是java.sql.Connection
对象的工厂,它是应用程序广泛使用的数据源。另一方面,OracleConnectionPoolDataSource
用于javax.sql.PooledConnection
,并且仅在连接缓存实现中使用(例如,UCP)。
您可以放心地忽略OracleDataSourceFactory
,它是构建Oracle不再升级的DataSource对象的构件。
使用19c Oracle JDBC驱动程序,您将像这样实例化数据源:
oracle.jdbc.datasource.OracleDataSource ds = oracle.jdbc.pool.OracleDataSource();
或者,如果您正在使用重放驱动程序(用于Application Continuity):
oracle.jdbc.datasource.OracleDataSource ds = oracle.jdbc.replay.OracleDataSourceImpl();
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。