簡體   English   中英

獨立Java程序中的BoneCP連接重用

[英]BoneCP Connection Reuse in Standalone Java Program

我有一個使用Oracle DB連接和BoneCP的獨立Java程序[不涉及應用程序服務器/會話]。 我需要從不同的方法運行不同的查詢,並且我不想在每個調用中創建數據庫連接/池。

我有一個創建連接池的DBManager類。 我想知道如何精確地重用創建的連接對象,以運行來自不同類/方法的多重查詢。

try {
        Class.forName("oracle.jdbc.driver.OracleDriver");
    } catch (Exception e) {
        e.printStackTrace();
        return;
    }

    try {

        // setup the connection pool
        BoneCPConfig config = new BoneCPConfig();
        config.setJdbcUrl( "jdbc:oracle:thin:@"+prop.getProperty(DB_HOST)+":"+prop.getProperty(DB_PORT)+":"+prop.getProperty(DB_INSTANCE)); // jdbc url specific to your database, eg jdbc:mysql://127.0.0.1/yourdb
        config.setUsername( prop.getProperty(APP_DB_USER)); 
        config.setPassword(prop.getProperty(APP_DB_PWD));
        config.setMinConnectionsPerPartition(5);
        config.setMaxConnectionsPerPartition(10);
        config.setPartitionCount(1);
        connectionPool = new BoneCP(config); // setup the connection pool

        connection = connectionPool.getConnection(); // fetch a connection

如果我調用此類的對象/即使它是靜態類,也不會每次都創建CP嗎? 難道我可以通過僅創建一次連接來重用連接對象嗎?

提前致謝。

最好的選擇是使用單例類。

下一個最佳選擇是在服務器(例如tomcat)上運行Java程序,並讓服務器為您處理數據庫連接池。

您可能還需要嘗試hikaricp連接池,因為它是一種非常快速,干凈的連接池實現!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM