Activiti数据源配置

本文详细介绍了Activiti如何配置数据源,包括默认的H2数据库、MySQL、Oracle等其他数据库的支持。同时,讨论了Activiti与Spring的关系,以及在配置过程中涉及的JDBC属性、DBCP和C3P0数据源的设置方法。数据库策略配置如`databaseSchemaUpdate`的选项,如`false`、`true`、`create-drop`和非官方的`drop-create`,在不同场景下的使用和影响也进行了说明。
摘要由CSDN通过智能技术生成

Activiti 在启动时,会读取数据源配置,用于对数据库进行相应的操作。

Activiti 默认使用 H2 数据库,H2 是一个开源的嵌入式数据库,使用 Java 语言编写。使用H2 数据库并不需要另外安装服务器或者客户端,只需要提供一个 jar 包即可使用。在实际的企业应用中,很少会使用这种轻量级的嵌入式数据库,因此 H2 数据更适合使用于单元测试。除 H2 数据库,Activiti 还为以下的数据库提供支持:

MySQL:主流数据库之一,它是一个开源的小型关系型数据库,由它体积小、速度快,得到相当多开发者的青睐,并且最重要的是,它是免费的。

Oracle:目前世界上最流行的商业数据库,价格昂贵,但是它高效的性能、可靠的数据管理,仍令不少企业心甘情愿为其掏钱。

Postgres:PostgreSQL 是另外一款开源的数据库。

DB2:由 IBM 公司研发的一款关系型数据库,其良好的伸缩性、数据库的高效性,让它成为继 Oracle 之后,又一应用广泛的商业数据库。

MSSQL:微软研发的一款数据库产品,目前也支持在 Linux 下使用。

 

Activiti 与 Spring

Spring 是目前非常流行的一个轻量级 J2EE 框架,它提供了一套轻量级的企业应用解决方案,它包括 IoC 容器、AOP 面向切面技术以及 Web MVC 框架等。

使用 Activiti 的项目,并不意味着一定要使用 Spring,Activiti 可以在没有 Spring 的环境中使用。虽然 Activiti 并不需要使用 Spring 环境,但是 Activiti 在创建流程引擎时,使用了 Spring 的 XML 解析与依赖注入功能,ProcessEngineConfiguration 对应的配置,即为Spring 中的一个 bean。

 

JDBC配置

JDBC 连接数据库,需要使用 jdbc url、jdbc 驱动、数据库用户名和密码,以下代码为连接 MySQL 的配置:

<bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">
    <!-- JDBC url -->
    <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/act" />
    <!-- JDBC 驱动 -->
    <property name="jdbcDriver" value="com.mysql.jdbc.Driver" />
    <!-- 数据库用户名 -->
    <property name="jdbcUsername" value="root" />
    <!-- 数据库密码 -->
    <property name="jdbcPassword" value="123456" />
</bean>

以上代码配置一个 bean,表示一个 ProcessEngineConfiguration,并且使用“设值注入”的方式将四个数据库属性设置到该 bean 中,换言之,该 ProcessEngineConfiguration类中,肯定有相应属性的 setter 方法。

如果不使用第三方数据源,直接使用 Activiti 提供的数据源,那么还可以指定其他一些数据库属 性 。 Activiti默认使用的 是 myBatis 的 数 据 连 接 池 , 因此ProcessEngineConfiguration 中也提供了一些 MyBatis 的配置:

jdbcMaxActiveConnections:在数据库连接池内最大的活跃连接数,默认值为 10。

jdbcMaxIdleConnections:连接池最大的空闲连接数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值