RDS - 连接关系型数据库服务

RDS是AWS CC的官方连接适配器,为上层应用场景提供统一的关系型数据库服务访问和管理。

主要功能

  • 支持符合JDBC 2.0规范的SQL调用
  • 提供常见开源和商业数据库驱动,内置数据库连接池
  • 提供CCAPI封装,方便开发者使用
  • 支持CC环境变量
  • 支持SLA服务质量监控和告警通知,提供全局requestId
  • 提供访问日志开关

特别说明

  • 使用该应用要求AWS PaaS平台许可支持CC服务
  • 使用该应用要求AWS PaaS平台版本不低于6.4.1

1.配置

以admin用户登录AWS PaaS控制台进入连接服务 > 连接,新建:数据源选择 RDS,弹出侧边栏填写相关属性,保存,点击测试一下,可进行试。

基本信息

说明
名称 RDS适配器的名称
用户名 数据库用户名 ,支持@公式,如@env(rdsXX)可获取环境中相应变量值
密码 数据库用户名对应口令,支持@公式,如@env(rdsXX)可获取环境中相应变量值
驱动 选择需要连接数据库的驱动类型,该列表可在应用参数中进行配置
URL地址 数据库URL地址,支持@公式,如@env(rdsXX)可获环境中相应变量值
连接池 > 初始化连接数 连接池默认初始化的连接数
连接池 > 最大连接数 连接池提供的最大连接数
描述 RDS描述信息,可在列表显示
  1. 相关JDBC驱动程序包存放在%AWS-HOME%/bin/jdbc目录下
  2. 不支持同一种数据库多JDBC版本情况
  3. 目前AWS PaaS平台支持的数据库类型请参见https://docs.awspaas.com/reference-guide/aws-paas-env-guide/runtime/server.html, 如需求修改驱动列表,请保存列表范围为AWS PaaS平台支持的数据库类型

扩展属性

数据库链接的扩展属性,属性名可在应用参数中进行配置,各属性含义自行参考数据库JDBC属性说明。

  • maxAge 连接存活时间,单位毫秒,默认值为1小时。设置该值用于防止部分数据库例如mysql默认8小时过期时间
  • maxIdle 最大空闲数,数据库连接的最大空闲时间。超过空闲时间,数据库连 接将被标记为不可用,然后被释放。设为0表示无限制
  • minIdle 最小空闲连接,连接池中容许保持空闲状态的最小连接数量, 低于这个数量将创建新的连接, 如果设置为0 则不创建
  • testWhileIdle 空闲时做连接可用性检查,可选值:true、false,默认true。该参数对数据库稳定性要求高的场景可以设为true
  • timeBetweenEvictionRunsMillis在空闲连接回收器线程运行期间休眠的时间值, 以毫秒为单位。 如果设置为非正数, 则不运行空闲连接回收器线程 这个值不应该小于1秒,它决定线程多久验证连接或丢弃连接
  • testOnBorrow 连接使用前做可用性检查,可选值:true、false,默认false。该参数设置为true会消耗一定资源,但对数据库稳定性要求高的场景可以设为true。
  • validationInterval (long) 避免过度验证,保证验证不超过这个频率——以毫秒为单位。如果一个连接应该被验证,但上次验证未达到指定间隔,将不再次验证
  • maxWait 单位毫秒,默认30秒。等待maxWait时间没能从连接池获得连接,抛出异常,避免线程因为等待连接阻塞

有关Tomcat jdbc属性官方说明参见:http://tomcat.apache.org/tomcat-8.5-doc/jdbc-pool.html

2.调用

通过AWS PaaS平台提供的CCAPI,操作连接器。

获取模型ID

在CC连接列表中可获取适配器模型ID。

API代码示例

Java代码中执行外部数据库操作,如select、insert、update。在访问前,我们假设已创建了一个CC RDS技术适配器,其分配的模型Id为00000000


import com.actionsoft.bpms.bpmn.engine.core.delegate.ProcessExecutionContext;
import com.actionsoft.bpms.bpmn.engine.listener.ExecuteListener;
import com.actionsoft.bpms.commons.database.DBUtils.SUPPLY;
import com.actionsoft.bpms.commons.database.RowMap;
import com.actionsoft.bpms.commons.database.tomcat.PoolTrackModel;
import com.actionsoft.sdk.local.SDK;
import com.actionsoft.sdk.local.api.cc.RDSAPI;

import java.sql.Connection;
import java.util.List;


/**
 * 需要在开发环境中引入AWS PaaS平台以下目录下所有jar包:
 * bin/lib目录下
 * bin/jdbc目录下
 * apps/install/com.actionsoft.apps.cc.connector.rds/lib目录下
 */
public class RDSAPITest  extends ExecuteListener {
    @Override
    public void execute(ProcessExecutionContext processExecutionContext) throws Exception {
        //获得一个操作外部数据库的RDSAPI对象
        RDSAPI rdsapi = SDK.getCCAPI().getRDSAPI("00000000");
        Connection conn = rdsapi.open();
        RowMap rowMap =  rdsapi.getMap("select * from orguser where userid = ?","admin");
        String username = rowMap.getString("username");
        String password = rowMap.getString("password");

        //查询sql取第一条数据集的第一列String值,如果没有满足要求的数据,返回空串
        String getstring = rdsapi.getString("select * from orguser", "admin");

        //查询sql取第一条数据集的第一列int值,如果没有满足要求的数据,返回0
        int getint = rdsapi.getInt("select * from orguser", "admin");

        //设置resultSet每次向数据库取的行数
        rdsapi.setFetchSize(-1);

        //设置resultSet最多返回的行数
        rdsapi.setMaxRows(-1);

        //获得当前数据库类型
        SUPPLY getsupply = rdsapi.getSupply();

        //获得当前CC RDS活动连接对象的跟踪信息,详细堆栈需日志参数开启
        List<PoolTrackModel> gettrace = rdsapi.getTrace();

        // 自定义查询
        rdsapi.query.....

        //基于回调接口
        rdsapi.execute......

        //......

        conn.close();
    }
}

RDSAPI JavaDOC https://docs.awspaas.com/api/aws-api-javadoc/com/actionsoft/sdk/local/api/cc/RDSAPI.html

3.日志

当连接器开启记录访问请求到审计日志记录返回结果到文件日志开关后,调用RDSAPI中update、execute、等方法时,可记录相关日志,具体哪些方法会记录日志,请参见javadoc RDSAPI说明。

审计日志

审计日志存储在SYS_AUDIT_LOG表中,日志信息最多显示1000个字符,可在日志页签查看。

文件日志

文件日志存储在AWS PaaS平台%AWS_HOME%/logs/目录下,默认每个文件日志最大为20M,最多存储20个文件,超出将自动清除最早日期文件。 log文件个数及单文件最大值可在%AWS_HOME%/bin/conf/aws-log4j.xml文件中配置。

4.监控

使用该功能要求AWS PaaS平台许可支持SLA服务质量监控。

开启SLA服务质量监控后,当调用RDSAPI时,将自动对调用次数、出错次数、执行耗时进行监控。 并可通过SLA告警监控策略对监控数据进行告警。

当配置了告警监控且触发后,可快速查看告警信息列表。

5.平台使用RDS适配器场景

  1. 创建BO表选择CC数据源
  2. UI组件列表、数据字典、单选、复选、树形字典选择CC数据源
  3. DW视图选择CC数据源

相关场景使用RDS连接后,可在关联页签进行查看。

7.删除

在连接列表,光标移至需要删除的模型上,点击右侧删除按钮,按钮提示进行删除。



Seven
 010-62962343-690
 liujx@actionsoft.com.cn
感谢您对该文档的关注!如果您对当前页面内容有疑问或好的建议,请与我联系。如果您需要解答相关技术问题请登录AWS客户成功社区