activiti

Activiti流程文件部署

天大地大妈咪最大 提交于 2020-04-17 09:21:34
【推荐阅读】微服务还能火多久?>>> 一 代码 package com.syc.activiti; import java.io.File; import java.io.FileInputStream; import java.io.InputStream; import org.activiti.engine.ProcessEngine; import org.activiti.engine.ProcessEngines; import org.activiti.engine.RepositoryService; import org.activiti.engine.repository.DeploymentBuilder; public class AddInputStream { public static void main(String[] args) throws Exception { // 创建流程引擎 ProcessEngine engine = ProcessEngines.getDefaultProcessEngine(); // 得到流程存储服务实例 RepositoryService repositoryService = engine.getRepositoryService(); // 第一个资源输入流 InputStream is1 = new

ProcessEngine对象的各个服务组件

寵の児 提交于 2020-04-15 09:53:16
【推荐阅读】微服务还能火多久?>>> 一 代码 package com.syc.activiti; import org.activiti.engine.HistoryService; import org.activiti.engine.IdentityService; import org.activiti.engine.ManagementService; import org.activiti.engine.ProcessEngine; import org.activiti.engine.ProcessEngineConfiguration; import org.activiti.engine.RepositoryService; import org.activiti.engine.RuntimeService; import org.activiti.engine.TaskService; /** * 获取各个业务组件实例 * */ public class GetService { public static void main(String[] args) { //读取流程引擎配置 ProcessEngineConfiguration config = ProcessEngineConfiguration.

Activiti流程引擎配置实战

*爱你&永不变心* 提交于 2020-04-14 12:04:58
【推荐阅读】微服务还能火多久?>>> 一 pom <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.0.RELEASE</version> <relativePath/> </parent> <groupId>com.syc.activiti</groupId> <artifactId>activiti6-helloworld</artifactId> <version>1.0-SNAPSHOT</version> <dependencies>

activiti 常见问题总结

孤者浪人 提交于 2020-04-07 07:20:15
activiti常见的问题 1、activiti能否使用自己的用户表,而不是用系统默认的act_id_user表呢? 答案:肯定能 http://my.oschina.net/winHerson/blog/118172 2、请问,activiti explorer 源代码在哪下载呢?github中那个是官方的呢? 【Activiti资料】 官网:http://www.activiti.org/ 下载:http://www.activiti.org/download.html 官方源码zip下载 : https://github.com/Activiti/Activiti/ 3、请问如何将XML源码转化为图片啊? public void loadByDeployment(@Param("processDefinitionId") String processDefinitionId, @Param("resourceType") String resourceType, HttpServletResponse response) throws Exception { ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionId

基于Activiti扩展的工作流引擎OpenWebFlow

风格不统一 提交于 2020-04-07 07:03:45
开源地址: https://github.com/bluejoe2008/openwebflow (欢迎star) 1. OpenWebFlow概述 OpenWebFlow是基于Activiti扩展的工作流引擎。Activiti (官方网站 http://activiti.org/ ,代码托管在 https://github.com/Activiti/Activiti )是一个新兴的基于 Apache 许可的支持 BPMN 2.0 标准的开源 BPM 产品,它是一个轻量级,可嵌入的 BPM 引擎,并且提供了功能丰富的开发和流程设计工具。OpenWebFlow与业务应用系统之间的关系如下图所示。 相对于Activiti,OpenWebFlow扩展的功能包括: 1) 完全接管了Activiti对活动(activity)权限的管理。 Activiti允许在设计model的时候指定每个活动的执行权限,但是,业务系统可能需要根据实际情况动态设置这些任务的执行权限(如:动态的Group)。OpenWebFlow完全实现了与流程定义时期的解耦,即用户对活动的访问控制信息单独管理(而不是在流程定义中预先写死),这样有利于动态调整权限,详见自定义活动权限管理; 2) 完全接管了Activiti对用户表(IDENTITY_XXX表)的管理。 在标准的工作流定义中,每个节点可以指定其候选人和候选用户组

自定义Activiti的用户群组表

柔情痞子 提交于 2020-04-07 07:02:36
简述 Activiti工作流引擎本身配套了包括 User、Group 的Identify模块,但是实际上公司内部各个部门关系、领导下级等关系都很复杂,Activiti自身的id模块就显得有些弱了。 有关自定义Activiti用户群组表的具体方式有三种, 本文只详细介绍第二种 : 方案 一 :通过数据推送方式同步数据到引擎的身份表,需要把数据备份到引擎的身份表或者公司有平台或者WebService推送用户数据的推荐使用 方案 二 :自定义SessionFactory,非侵入式替换接口实现,对于公司内部有统一身份访问接口的推荐使用 方案 三 :不需要编写Java代码,只需要创建同名视图即可 为何自定义SessionFactory 引擎内部与数据库交互使用的是MyBatis,Activiti的每一张表都有一个对应的XxxEntityManager(实体管理类,有接口和实现类)和XxxEntityManagerFactory(实体管理工厂类)。 引擎的7个Service接口在需要CRUD实体时会根据接口获取注册的实体管理器实现类(初始化引擎时引擎会使用Map对象维护两者的映射关系),而 引擎允许我们自己注册实体管理器实现类 ,查看源码后可以知道有关Identity操作的两个接口分别为:UserIdentityManager和GroupIdentityManager。 例如下图:

Activiti与Spring结合的多种方式

坚强是说给别人听的谎言 提交于 2020-04-07 06:19:50
一、手动注入 在Activiti中使用TaskListener时,如果是使用的类型是Class时,使用Spring是无法自动注入需要的bean的,网上查了下,原因是Acitivi引擎会在内部使用Class.newInstance(...)的方式创建一个该类的对象,这个对象不被Spring管理,所以Sping是无法给这个对象注入我们需要的bean 怎么办呢?使用ApplicationContext把需要的bean取出来手动赋值,简单粗暴。 package cn.lixuelong.demo; import org.activiti.engine.IdentityService; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; import org.activiti.engine.identity.Group; import org.springframework.context.ApplicationContext; import org.springframework.web.context.ContextLoader; /** * Created by long on 2017/12/5. */ public class

Activiti

风格不统一 提交于 2020-04-06 17:29:10
1.Activiti中个人任务分配 1.1分配任务负责人: 1.1.1 固定分配,每一个任务都是固定的人进行执行 1.1.2 表达式分配: UEL表达式,统一表达式语言,在activiti当中支持两种形式,一种是value,另外一种是method形式 1.1.3 创建流程图,给每一个环节制定assignee值,通过UEL表达式分配任务负责人 1.1.4 流程部署 1.1.5 创建流程实例,制定任务执行人 /** * 启动一个流程实例 */ @Test public void getInstance(){ //获取ProcessEngine对象 默认配置文件名称:activiti.cfg.xml 并且configuration的Bean实例ID为processEngineConfiguration ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine(); //获取RuntimeService RuntimeService runtimeService = processEngine.getRuntimeService(); //定义一个Map集合,存放assignee的值 Map<String,Object> assMap=new HashMap<>(); assMap.put(

Activiti-个人任务

寵の児 提交于 2020-04-06 16:53:55
1.分配任务负责人   1.1 固定分配     在进行业务流程建模时指定固定的任务负责人;          在properties视图中,填写Assignee项为任务负责人;     注意事项:由固定分配方式,任务只管一步一步执行任务,执行到每一个任务将按照bpmn的配置去分配任务负责人;   1.2 表达式分配     1.2.1 UEL表达式       Activiti使用UEL表达式,UEL是java EE6规范的一部分,UEL即统一表达式语言,activiti支持两个UEL表达式:UEL-value和UEL-method;        1.2.1.1 UEL定义如下:                  assignee这个变量是activiti的一个流程变量;         或:                  user也是activiti的一个流程变量,user.assignee表示调用user的getter方法获取值;        1.2.1.2 UEL-method方式如下:                  userBean是spring容器中的一个bean,表示调用该bean的getUserId()方法;        1.2.1.3 UEL-method与UEL-value结合:         ${ldapService

Maven配置文件中 mirror和repository的区别及中央仓库配置大全

萝らか妹 提交于 2020-04-06 03:44:51
1、Maven配置文件中 mirror和repository的区别 1.1 repository repository就是个仓库,maven里有两种仓库,Local Repository(本地仓库)和Remote Repository(远程仓库)。 1.1.1 Remote Repository(远程仓库)主要有3种 中央仓库: http://repo1.maven.org/maven2/ 私服:内网自建的maven repository,其URL是一个内部网址 其他公共仓库:其他可以互联网公共访问maven repository,例如 jboss repository等。 1.1.2 本地和远程的区别 远程仓库相当于公共的仓库,大家都能看到。 本地仓库是你本地的缓存副本,只有你看的到,主要起缓存作用。 当你向仓库请求插件或依赖的时候,会先检查本地仓库里是否有。 如果有则直接返回,否则会向远程仓库请求,并被缓存到本地仓库。 远程仓库可以在工程的pom.xml文件里指定。 如果没指定,默认会到 http://repo1.maven.org/maven2 这个地方去请求插件和依赖包 <repository> <snapshots> <enabled>false</enabled> </snapshots> <id>central</id> <name>Maven Repository