activiti 入门 Hello world入门级

activiti入门

Activiti 的第 6个正式版本发布于2010年 12月1 日,经过多年的发展, Activiti 己经成为较
为成熟的工作流引 擎。作为一个开源的工作流引擎,它在工作流领域吸引了众多开发者
的目光, 在当前的工作流框架角逐中 其己逐渐成为众多企业的首选。在 2017年5月26 日,
Activiti 迎来了新篇 6.0 本正式发布。
首先需要下载activiti6.0
可以去官网下载
[gitup地址]
网盘下载地址 网盘地址
还需要编译器 推荐使用eclipse的工作流插件 因为功能比idea的工作流插件强大
可以参考这篇文章来配置eclipse插件
https://www.cnblogs.com/mingforyou/p/5347561.html
推荐离线安装,在线安装太慢了
创建我们的hello world
首先我们需要导入activiti的jar包,我这有一套 直接导入就行
jar包网盘地址: https://pan.baidu.com/s/1t6ZpmDFloFXggyImAHUT9g
好了我们创建普通maven项目 项目目录如下
在这里插入图片描述

我们需要创建activiti的配置文件
默认读取classpath下的
activiti.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 -->
	<bean id="processEngineConfiguration"
		class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">
		<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/ACT" />
		<property name="jdbcDriver" value="com.mysql.jdbc.Driver" />
		<property name="jdbcUsername" value="root" />
		<property name="jdbcPassword" value="123456" />
		<property name="databaseSchemaUpdate" value="true" />
		<property name="asyncExecutorActivate" value="true" />
        <!-- 
		<property name="createDiagramOnDeploy" value="false" />
         -->
	</bean>
</beans>

因为activiti需要使用数据库 所以我们在mysql 下创建名字为act的数据库
然后创建我们的流程文件 MyProcess.bpmn 放在resource目录下
在这里插入图片描述
代码如下

<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:activiti="http://activiti.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.activiti.org/test">
  <process id="myProcess" name="My process" isExecutable="true">
    <startEvent id="startevent1" name="Start"></startEvent>
    <userTask id="usertask3" name="儿子"></userTask>
    <userTask id="usertask5" name="父亲"></userTask>
    <endEvent id="endevent3" name="End"></endEvent>
    <sequenceFlow id="flow5" sourceRef="startevent1" targetRef="usertask5"></sequenceFlow>
    <sequenceFlow id="flow6" sourceRef="usertask5" targetRef="usertask3"></sequenceFlow>
    <sequenceFlow id="flow7" sourceRef="usertask3" targetRef="endevent3"></sequenceFlow>
  </process>
  <bpmndi:BPMNDiagram id="BPMNDiagram_myProcess">
    <bpmndi:BPMNPlane bpmnElement="myProcess" id="BPMNPlane_myProcess">
      <bpmndi:BPMNShape bpmnElement="startevent1" id="BPMNShape_startevent1">
        <omgdc:Bounds height="35.0" width="35.0" x="200.0" y="230.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="usertask3" id="BPMNShape_usertask3">
        <omgdc:Bounds height="55.0" width="105.0" x="580.0" y="220.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="usertask5" id="BPMNShape_usertask5">
        <omgdc:Bounds height="55.0" width="105.0" x="330.0" y="220.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="endevent3" id="BPMNShape_endevent3">
        <omgdc:Bounds height="35.0" width="35.0" x="800.0" y="230.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge bpmnElement="flow5" id="BPMNEdge_flow5">
        <omgdi:waypoint x="235.0" y="247.0"></omgdi:waypoint>
        <omgdi:waypoint x="330.0" y="247.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow6" id="BPMNEdge_flow6">
        <omgdi:waypoint x="435.0" y="247.0"></omgdi:waypoint>
        <omgdi:waypoint x="580.0" y="247.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow7" id="BPMNEdge_flow7">
        <omgdi:waypoint x="685.0" y="247.0"></omgdi:waypoint>
        <omgdi:waypoint x="800.0" y="247.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
    </bpmndi:BPMNPlane>
  </bpmndi:BPMNDiagram>
</definitions>

创建我们的Java代码

public class FirstAct {

    public static void main(String[] args) throws Exception {
    	//创建流程引擎
     ProcessEngine  processengie=ProcessEngines.getDefaultProcessEngine();
     //得到流程服存储组件
     RepositoryService repositoryservice=processengie.getRepositoryService();
     //得到运行服务组件
     RuntimeService runtimeservice=processengie.getRuntimeService();
     //获取流程任务组件
     TaskService taskservice=processengie.getTaskService();
     //部署流程文件
     repositoryservice.createDeployment().addClasspathResource("MyProcess.bpmn").deploy();
     //启动流程
     runtimeservice.startProcessInstanceByKey("myProcess");
     //查询第一个任务
     Task task=taskservice.createTaskQuery().singleResult();
     System.out.println("第一个任务完成之前 ,当前任务名称"+task.getName());
     //完成第一个任务
     taskservice.complete(task.getId());
     //查询第二个任务
      task=taskservice.createTaskQuery().singleResult();
     System.out.println("第二个任务完成之前 ,当前任务名称"+task.getName());
     //完成第二个任务
     taskservice.complete(task.getId());
     //流程结束,查询任务
     task=taskservice.createTaskQuery().singleResult();
     System.out.println("流程结束后,当前任务"+task);
     //退出
     System.exit(0);
    }
}

运行结果在这里插入图片描述
至此结束activiti 的Hello world

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值