flowable工作流笔记

1.选用mysql数据库的时候选择5.6.4及其以上,如果要较低版本的flowalbe支持比较高的mysql,需要加入如下配置:
要进行升级,首先需要将下列配置参数放入你的flowable.cfg.xml配置文件:

<beans > 
<bean id="processEngineConfiguration" class="org.flowable.engine.impl.cfg.StandaloneProcessEngineConfiguration">
<!-- ... --> <property name="databaseSchemaUpdate" value="true" />
<!-- ... --> </bean>
</beans>

同时需要改驱动

2.选择flowable版本6.0.1版本及其 以上较好性能。
开启异步执行器配置(async executor)获得较好性能

<property name="asyncExecutorActivate" value="true" />

3.从Flowable 6.1.0起,添加了异步历史功能,需要在配置文件中开启

4.默认情况下,Flowable引擎依赖中不提供SFL4J绑定JAR。你需要自行将其加入你的项目,以便使用所选的日志框架。如果没有加入实现JAR,SLF4J会使用NOP-logger,需要写上版本号

<dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>jcl-over-slf4j</artifactId>
</dependency>

5.重要章节 3.18

对事件监听器的唯一要求,是要实现org.flowable.engine.delegate.event.FlowableEventListener接口

public class MyEventListener implements FlowableEventListener {

  @Override
  public void onEvent(FlowableEvent event) {
    switch (event.getType()) {

      case JOB_EXECUTION_SUCCESS:
        System.out.println("A job well done!");
        break;

      case JOB_EXECUTION_FAILURE:
        System.out.println("A job has failed...");
        break;

      default:
        System.out.println("Event received: " + event.getType());
    }
  }

  @Override
  public boolean isFailOnException() {
    // onEvent方法中的逻辑并不重要,可以忽略日志失败异常……

    return false;
  }
}

onEvent(..)方法抛出异常,如果isFailOnException()返回false,将不做额外处理,即不向上抛异常。若返回true,异常不会被忽略而会被上抛,使当前执行的命令失败。如果事件是API调用(或其他事务操作,例如作业执行)的一部分,事务将被回滚。如果事件监听器中并不是重要的业务操作,建议返回false

提供了一些实现类,例如:

org.flowable.engine.delegate.event.BaseEntityEventListener: 事件监听器基类,可用来监听实体(entity)相关事件,特定或所有实体的事件都可以。它隐藏了类型检测,提供了4个需要覆盖的方法:onCreate(..), onUpdate(..)onDelete(..)在实体创建、更新及删除时调用;对所有其他实体相关事件,onEntityEvent(..)会被调用

还不知道怎么用

猜你喜欢

转载自www.cnblogs.com/longsanshi/p/12669024.html