Flowable 工作流 问题汇总

官网地址:https://www.flowable.org/

插件地址:http://www.flowable.org/designer/update/ 

用户手册地址:https://tkjohn.github.io/flowable-userguide/


一、Bpmn常用节点

1、Task任务:

用户任务(userTask)

系统任务(serviceTask )

2、Event事件:

定时器事件(timerEventDefinition)

3、Gateway网关:

排他网关(exclusive gateway)

二、关键字段

1、procInstId 流程实例Id

2、taskId 任务Id

3、executionId 执行Id

总结一下,如果形象的拿procInstId,executionId,taskId做一个比喻的话,procInstId为一个面,executionId为在面上的一条线,taskId为在线上的一个点。

4、processDefinitionId (w10:9:b06e3e66-bb55-11e9-97c7-c485089b220a)流程定义Id

通过DEPLOYMENT_ID 关联 aff565df-bb55-11e9-97c7-c485089b220a (多对一)

5、processDefinitionKey(就是xml 定义的key: w10) 流程定义Key

6、processDefinitionName (w10#1)流程定义名称

后边三个是在xml中配置的

	<process id="w10" name="w10 #1"	isExecutable="true">

发起一个流程:

利用方法  repositoryService.createProcessDefinitionQuery().processDefinitionKey(key) .latestVersion().singleResult()

从act_re_procdef  表中取出processDefinitionId ,variables为变量的map执行此方法

(通过flowable提供的接口runtimeService中的startProcessInstanceBy**去发起)

ProcessInstance startProcessInstanceById(String processDefinitionId, Map<String, Object> variables);

 执行完以上语句会返回procInstId 流程实例Id

备注:

1.bpmn流程图后缀

其中资源后缀的定义如下:

 public static final String[] BPMN_RESOURCE_SUFFIXES = new String[]{"bpmn20.xml", "bpmn"};

也就是说我们必须以这2个格式结束,否则无法加入流程中。

以bpmn或者bpmn20.xml结尾

2.如果没有自动创建出整个表

原因:isEngineTablePresent(是否从新创建表)

可以看到使用的是表ACT_RU_EXECUTION是否存在来判断的,可能别的数据库中有这个表

3.流程表:ACT_RE_PROCDEF 为空

其中资源后缀的定义如下:

 public static final String[] BPMN_RESOURCE_SUFFIXES = new String[]{"bpmn20.xml", "bpmn"};

必须以这bpmn或者bpmn20.xml结尾,否则无法加入流程中。

4.监听器(user Task)类型:

public interface BaseTaskListener extends Serializable {

    String EVENTNAME_CREATE = "create";
    String EVENTNAME_ASSIGNMENT = "assignment";
    String EVENTNAME_COMPLETE = "complete";
    String EVENTNAME_DELETE = "delete";

    /**
     * Not an actual event, used as a marker-value for {@link BaseTaskListener}s that should be called for all events, including {@link #EVENTNAME_CREATE} , {@link #EVENTNAME_ASSIGNMENT} and
     * {@link #EVENTNAME_COMPLETE} and {@link #EVENTNAME_DELETE}.
     */
    String EVENTNAME_ALL_EVENTS = "all";
}
public interface TaskListener extends BaseTaskListener {

    void notify(DelegateTask delegateTask);
}

(1)create:任务创建时,并且所有的属性都被设置好后,进入该回调。
(2)assignment:任务被委派给某人后.。注意: 当流程执行到达一个userTask时。
(3)complete:在任务完成后,且被从运行时数据(runtime data)中删除前触发。
(4)delete:在任务将要被删除之前发生。注意,当任务通过completeTask完成任务时,它也会被执行。
 

5.assignment任务被委派给某人

{
  "approved": false,
  "assignee": "ZHANGSAN",
  "comment": "委派给张三",
  "processId": "f2056621-be97-11e9-ba31-c485089b220a",
  "reassigned": true,
  "taskId": "f27f0303-be97-11e9-ba31-c485089b220a"
}

 代码如下:

if (review.reassigned) {
      if (Strings.isNullOrWhitespace(review.getAssignee())) {
        throw new NoAssigneeException();
      }
      engineTaskService.setAssignee(taskId, review.getAssignee());
    } 

7 *.bpmn20.xml 修改后不生效

a,有xml报错,会造成ACT_GE_BYTEARRAY不更新(旧的有效)

8.eclipse flowable插件

导入项目,注意选择maven 选择General

安装插件

Name: Flowable BPMN 2.0 designer

Location: http://flowable.org/designer/update/

安装完毕后打开

 

7.修改bpmn流程图

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
flowable工作流可以应用于各种场景,包括但不限于以下几个方面: 1. 自动化流程:flowable工作流可以帮助实现各种自动化流程,例如审批流程、订单流程、报销流程等。通过定义流程模型、任务节点和流转规则,可以使得流程的执行自动化、标准化,并且可以方便地进行监控和管理。 2. 业务流程优化:对于复杂的业务流程,可以使用flowable工作流来进行流程的优化和重构。通过将业务逻辑与流程逻辑分离,可以更好地管理和维护业务流程,并且可以灵活地进行流程的调整和修改。 3. 异步任务处理:flowable工作流支持异步任务处理,可以将一些需要耗时的操作放在异步任务中进行处理,提高系统的性能和响应速度。 4. 并发控制:flowable工作流可以帮助实现并发控制,例如资源的争抢、并发访问控制等。通过使用流程实例、任务和锁机制,可以有效地控制并发操作的顺序和执行结果。 5. 监控和统计:flowable工作流可以提供流程的监控和统计功能,包括流程的执行情况、执行时间、耗时统计等。通过这些统计数据,可以对流程进行性能分析和优化,提高系统的效率和可靠性。 总结来说,flowable工作流可以在各种场景下使用,帮助实现流程的自动化、优化和管理,并且可以提供监控和统计功能。它可以帮助简化业务逻辑,提高系统的性能和可维护性。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [工作流入门教程(flowable框架)](https://blog.csdn.net/qq_25542879/article/details/107048660)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [flowable工作流.zip](https://download.csdn.net/download/weixin_43726137/73501882)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

javafanwk

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值