开发环境搭建:
一、开发环境
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程序。
会得到如下