• EAS中怎么实现数据库连接池?0514


    EAS中怎么实现数据库连接池?

    EAS二次开发时,有些时候需要直连非业务系统的数据库,这个时候使用JDBC+连接池技术是可选之一(webservice不讨论)。

    一、EAS、开源

    1、开源组件中有个比较有名的DBCP
    2、国内比较有名的阿里的Druid

    本文主要讲解DBCP。主要原因是EAS的连接池实现就在在dbcp基础上构建的,二次开发直接使用dbcp可省去很多事。

    二、实现原理

    DBCP 主要通过BasicDataSource配置相关数据源信息,比如数据库URL、驱动、用户名、密码、连接池初始大小等
    如Apache官网的说明

    EAS中对应的类为,配置和Apache官方说明完全一致:

    1. bos.org.apache.commons.dbcp.BasicDataSource

    三、示例代码

    1. // 初始化DataSource
    2. BasicDataSource ds = new BasicDataSource();
    3. ds.setUrl(url);
    4. ds.setDriverClassName(driverClassName);
    5. ds.setUsername(username);
    6. ds.setPassword(password);
    7. ds.setInitialSize(initialSize); // 初始的连接数;
    8. ds.setMaxActive(maxActive);
    9. ds.setMinIdle(minIdle);
    10. ds.setMaxIdle(maxIdle);
    11. ds.setMaxWait(maxWait);
    12. // 其他配置。。。
    13. // 获取Connection
    14. Connection conn = ds.getConnection();
    15. // 执行CRUD,此处省略

    四、总结

    1、对于连接池的配置信息可通过配置文件方式存取,也可通过做成单据的方式。最好不要将数据库明文密码暴露在配置文件中。
    2、在EAS中使用连接池时,需要考虑到数据库驱动的问题,请查看KSQL文档说明的支持问题,不过大部分常用驱动都支持,因为EAS本身就是一个多数据库支持的系统,必然要使用到数据库驱动。





  • 相关阅读:
    股票F10
    什么是盘口?
    CompletionPort
    WSAEvent
    SO_KEEPALIVE选项
    SO_LINGER
    shutdown和close的区别
    TIME_WAIT和CLOSE_WAIT状态区别
    什么是2MSL
    WSAStartup function
  • 原文地址:https://www.cnblogs.com/masb/p/fbcc229dc955abadbc2c7d1d50836e7e.html
Copyright © 2020-2023  润新知