开发环境搭建:
一、开发环境
1、安装mysql 5.1
2、eclipse java ee
Version: Kepler Service Release 1
3、maven以及eclipse maven插件
4、eclipse 安装activiti插件
注:Activiti 版本 5.14
二、HelloWorld demo创建
1、创建Activiti Project,工程名“HelloWorld-demo”
2、添加Activiti Diagram,叫HelloWorld.bpmn
面板添加三个东东,Start Event,Script Task,End Event。
将Process Id和Name都设置为“HelloWorld”
将“Script Task”-Main config-Script language设置为“groovy”
Script设置为“System.out.println("Hello world")”
这样,工作流的简易流程图就绘制完毕。
本demo采用的是非Spring方式,所以需要创建activit.cfg.xml。
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration"> <property name="databaseSchemaUpdate" value="true" /> <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/activiti" /> <property name="jdbcDriver" value="com.mysql.jdbc.Driver" /> <property name="jdbcUsername" value="root" /> <property name="jdbcPassword" value="Admin@123" /> <property name="jobExecutorActivate" value="true" /> </bean> </beans>
注:虽然不是使用spring方式使用activiti。但是activiti.cfg.xml还是一个spring的xml
该xml中主要描述了通过jdbc方式连接数据库相关配置,如jdbcUrl,jdbcDriver,jdbcPassword等信息,数据库用户名密码根据自己安装mysql 5.1的时候设置的密码来配置。
接下来就开始写java代码。来部署和启动工作流。
package demo;
import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngines;
import org.activiti.engine.RepositoryService;
import org.activiti.engine.RuntimeService;
import org.activiti.engine.repository.DeploymentBuilder;
import org.activiti.engine.runtime.ProcessInstance;
public class ActivitiTest {
public static void main(String[] args) {
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
RepositoryService repositoryService = processEngine.getRepositoryService();
DeploymentBuilder builder = repositoryService.createDeployment();
builder.addClasspathResource("diagrams/HelloWorld.bpmn");
builder.deploy();
// select * from `ACT_GE_PROPERTY`;这时这个表中会多条数据
RuntimeService runtimeService = processEngine.getRuntimeService();
runtimeService
.startProcessInstanceByKey("HelloWorld");//启动流程,ID必须与你配置的一致
}
}
这样就搞定了,直接以java application方式运行该java程序。
会得到如下