Activiti可能使用两种方式配置数据库。 第一种方式是定义数据库配置参数:
- jdbcUrl: 数据库的JDBC URL
- jdbcDriver: 对应不同数据库类型的驱动。
- jdbcUsername: 连接数据库的用户名
- jdbcPassword: 连接数据库的密码。
基于JDBC参数配置的数据库连接 会使用默认的MyBatis连接池。可以利用下面的参数进行连接池的配置
- jdbcMaxActiveConnections: 连接池中处于被使用状态的连接的最大值。默认为10。
- jdbcMaxIdleConnections: 连接池中处于空闲状态的连接的最大值。
- jdbcMaxCheckoutTime: 连接被取出使用的最长时间,超过时间会被强制回收。 默认为20000(20秒)
- jdbcMaxWaitTime: 这是一个底层配置,让连接池可以在长时间无法获得连接时, 打印一条日志,并重新尝试获取一个连接。(避免因为错误配置导致沉默的操作失败)。 默认为20000(20秒)。
第二种方式是利用javax.sql.DataSource,比如DBCP
<bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">
<property name="dataSource" ref="dataSource" />
...
无论你使用JDBC还是DataSource的方式,都可以设置 databaseSchemaUpdate属性值,来确定流程引擎启动和关闭时如何处理数据库表。
- false(默认):检查数据库表的版本和依赖库的版本, 如果版本不匹配就抛出异常。
- true: 构建流程引擎时,执行检查,如果需要就执行更新。 如果表不存在,就创建。
- create-drop: 构建流程引擎时创建数据库表, 关闭流程引擎时删除这些表。