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本身就是一个多数据库支持的系统,必然要使用到数据库驱动。





原文地址:https://www.cnblogs.com/masb/p/fbcc229dc955abadbc2c7d1d50836e7e.html