Oracle数据库的密集型实际应用程序的开发

我们都知道再开发Oracle数据库的密集型实际应用程序时,使用相关连接池而受益。之所以是因为这样,我们才能够重用连接,而不是在每次请求连接时都重新创建一个新连接。连接池节约了创建新数据库连接所需的资源,并提高了应用程序的性能,因为创建新连接始终是一个性能密集型操作。

贾汪ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18982081108(备注:SSL证书合作)期待与您的合作!

Oracle Universal Connection Pool for JDBC 表示一个用于缓存 JDBC 连接的全功能实现。UCP 是一个非常有用的特性,它将使您可以重用连接对象,从而可以提高获取连接过程的速度并节约打开新数据库连接所需的资源。

假设您希望创建一个 UCP JDBC 连接池来重用到 HR/HR Oracle 数据库示例模式的已建立连接。以下程序是一个 UCP JDBC 连接池实际运行的简单示例,将向您展示如何完成此操作。您将首先创建一个支持池的数据源实例,然后设置连接和池的属性。完成后,您将从池中借用一个连接,然后使用该连接与数据库交互。***,您将关闭该连接,将其返回到池。

 
 
 
  1. import java.sql.*; import oracle.ucp.jdbc.PoolDataSourceFactory; 
    import oracle.ucp.jdbc.PoolDataSource; public class UcpConnection 
    { public static void main(String args[]) throws SQLException 
    { try { //Creating a pool-enabled data source PoolDataSource pds 
    = PoolDataSourceFactory.getPoolDataSource(); 
    //Setting connection properties of the data source pds.
    setConnectionFactoryClassName("oracle.jdbc.pool.OracleDataSource"); 
    pds.setURL("jdbc:oracle:thin:@//localhost:1521/XE"); pds.setUser("hr"); 
    pds.setPassword("hr"); //Setting pool properties pds.setInitialPoolSize(5); 
    pds.setMinPoolSize(5); pds.setMaxPoolSize(10); 
    //Borrowing a connection fro th oo Connection con = pds.getConnection();  
  2. ount(); System.out.println("\nAvailable connections: 
    " + avlConnCount); int brwConnCount = pds.getBorrowedConnectionsCount(); 
    System.out.println("\nBorrowed connections: " + brwConnCount); 
    //Working with the connection Statement stmt = conn.createStatement(); 
    ResultSet rs = stmt.executeQuery("select user from dual"); 
    while(rs.next()) System.out.println("\nConnected as: "+rs.getString(1)); 
    rs.close(); //Returning the connection to the pool conn.close(); conn=null; 
    System.out.println("\nConnection returned to the pool"); 
    //Checking the number of available and borrowed connections again avlConnCount = 
    pds.getAvailableConnectionsCount(); 
    System.out.println("\nAvailable connections: " + avlConnCount); 
    brwConnCount = pds.getBorrowedConnectionsCount(); 
    System.out.println("\nBorrowed connections: " + brwConnCount); } 
    catch(SQLException e) 
    { System.out.println("\nAn SQL exception occurred : " + e.getMessage()); } } } 

 

这里值得注意的是关闭连接时的变化。以上程序的输出阐释了关闭从 UCP JDBC 连接池中借用的连接将使该连接返回到池,以供下一次连接请求使用。

该应用程序的输出应如下所示:

 
 
 
  1. Connection borrowed from the poolAvailable connections: 
    4Borrowed connections: 1Connected as: HRConnection returned 
    to the poolAvailable connections: 5Borrowed connections: 0 

 上述的相关内容就是使用 UCP 缓存 JDBC 连接对开发Oracle数据库密集型应用程序的描述,希望会给你带来一些帮助在此方面。

本文标题:Oracle数据库的密集型实际应用程序的开发
文章URL:http://www.shufengxianlan.com/qtweb/news18/159718.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联