首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >单机Java程序中的BoneCP连接重用

单机Java程序中的BoneCP连接重用
EN

Stack Overflow用户
提问于 2017-07-20 17:33:23
回答 1查看 113关注 0票数 0

我有一个独立的Java程序,不涉及使用Oracle DB connection和BoneCP的应用程序服务器/会话。我需要从不同的方法运行不同的查询,并且我不希望在每次调用中都创建DB连接/池。

我有一个在其中创建连接池的DBManager类。我想知道如何准确地重用为运行来自不同类/方法的多个查询而创建的连接对象。

代码语言:javascript
复制
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不是每次都会被创建吗?我如何通过只创建一次连接来重用连接对象?

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2017-07-21 00:06:35

您最好的选择是使用单例类。

下一个最好的选择是在服务器(例如tomcat)上运行您的java程序,让服务器为您处理数据库连接池。

您可能还想尝试hikaricp连接池,因为它是一个非常快速和干净的连接池实现!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45210815

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档