首先我们来看下Activiti为我们自动生成的这四张用户相关的表 先看下USER表 我已经插入了一些数据,很明显,就是保存用户的信息的 看下GROUP 用户对应的分组信息 MEMBERSHIP 用户和分组的中间表,可以看出它们是多对多关系 INFO这张表,看官方文档说的是保存用户额外信息,可以看到它有USER表的一个外键 OK,表关系介绍完了,我们再来说下怎么添加用户信息吧 其实这个很简单,SpringBoot对于Activiti的支持不错,已经给我们配置好了很多默认,直接注入就行 Identi…
因为电脑还在托运中,现在手上这台垃圾电脑实在是没法玩微服务,所以趁着这两天玩玩Activiti吧. 说实话,在学习Activiti中走了N多弯路,最大的原因就是网上没有一个完整(好)的教程,甚至连官方的文档坑也是巨多,比如默认是h2数据库,其它数据库需要手动指定之类就没写明.所以我决定站出来,写出一篇能让很多人在学习Activiti时少走点弯路的笔记. 首先,因为我使用的工具是STS(Eclipse安装一些Spring提供的插件),所以我们需要安装一个activiti-desgner插件,这是为…
这篇文篇介绍,怎么为 springboot程序构建一个Docker镜像.docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源.Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低. 准备工作 环境: linux环境或mac,不要用windows jdk 8 mave…
转载请标明出处: 原文首发于:https://www.fangzhipeng.com/springboot/2017/07/11/springboot24-docker/ 本文出自方志朋的博客 这篇文篇介绍,怎么为 springboot程序构建一个docker镜像.docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源.Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容…
转载请标明出处: 原文首发于:https://www.fangzhipeng.com/springboot/2017/07/11/springboot15-rabbitmq/ 本文出自方志朋的博客 这篇文章带你了解怎么整合RabbitMQ服务器,并且通过它怎么去发送和接收消息.我将构建一个springboot工程,通过RabbitTemplate去通过MessageListenerAdapter去订阅一个POJO类型的消息. 准备工作 15min IDEA maven 3.0 在开始构建项目之前…
写教程实在太累了,,,还浪费时间,Activiti教程就写到这好了,不过最近在玩区块链,到时候写几个区块链方面的教程. 这是一些流程的查询与删除api,删除这块,默认是级联删除(加个false参数,就可以取消级联,不过最好不要) 挂起流程与激活的api 挂起与激活流程操作 OK,基本的命令大家都知道了,那么现在我们该怎么去发起一个流程呢? 首先我们需要改下我们的流程模板 在发起人那里写上applyuser,它是一个activiti的一个保留关键字,下面代码中会解释它的用处 将之前的流程先删除,然…
注:环境配置:activiti自己定义流程之自己定义表单(一):环境配置 在上一节自己定义表单环境搭建好以后,我就正式開始尝试自己创建表单,在后台的处理就比較常规,主要是针对ueditor插件的功能在前端进行改动. 因为自己的前端相关技术太渣.因此好多东西都不会用,导致改动实现的过程也是破费了一番功夫.头皮发麻了好几天. 既然是用别人的插件进行改动,那么我想假设仅仅是单独的贴出我改动后的代码,可能没有前后进行对照好理解,因此这里就把原代码和改动后的同一时候对照着贴出,以便于朋友们能从对照中更快的…
转载请标明出处: 原文首发于https://www.fangzhipeng.com/springboot/2017/07/11/sprinboot25-elk/ 本文出自方志朋的博客 这篇文章主要介绍springboot整合elk. elk 简介 Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等. Logstash是一个完全开源的工具,他可以对你的日志进行收集.过滤,并将其存储供以…
转载请标明出处: 原文首发于:https://www.fangzhipeng.com/springboot/2017/07/11/springboot9-redis/ 本文出自方志朋的博客 这篇文章主要介绍springboot整合redis,至于没有接触过redis的同学可以看下这篇文章:5分钟带你入门Redis. 引入依赖: 在pom文件中添加redis依赖: <dependency> <groupId>org.springframework.boot</groupId&g…
转载请标明出处: 原文首发于:https://www.fangzhipeng.com/springboot/2017/07/11/springboot8-mongodb/ 本文出自方志朋的博客 这篇文章主要介绍springboot如何整合mongodb. 准备工作 安装 MongoDB jdk 1.8 maven 3.0 idea 环境依赖 在pom文件引入spring-boot-starter-data-mongodb依赖: <dependency> <groupId>org.s…
转载请标明出处: 原文首发于:https://www.fangzhipeng.com/springboot/2017/07/11/springboot-mybatis/ 本文出自方志朋的博客 本文主要讲解如何在springboot下整合mybatis,并访问数据库.由于mybatis这个框架太过于流行,所以我就不讲解了. 引入依赖 在pom文件引入mybatis-spring-boot-starter的依赖: <dependency> <groupId>org.mybatis.sp…
转载请标明出处: 原文首发于:https://www.fangzhipeng.com/springboot/2017/07/11/springboot5-beatlsql/ 本文出自方志朋的博客 BeetSql是一个全功能DAO工具, 同时具有Hibernate 优点 & Mybatis优点功能,适用于承认以SQL为中心,同时又需求工具能自动能生成大量常用的SQL的应用. beatlsql 优点 开发效率 无需注解,自动使用大量内置SQL,轻易完成增删改查功能,节省50%的开发工作量 数据模型支…
转载请标明出处: 原文首发于:https://www.fangzhipeng.com/springboot/2017/07/11/springboot4-jpaJ/ 本文出自方志朋的博客 JPA全称Java Persistence API.JPA通过JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中. JPA 的目标之一是制定一个可以由很多供应商实现的API,并且开发人员可以编码来实现该API,而不是使用私有供应商特有的API. JPA是需要Provide…
一.概述 网上有很多关于Eclipse.IDEA等IDE插件通过拖拽的方式来画工作流程图,个人觉得还是不够好,所以花点时间研究了一下Activiti在线设计器,并与SpringBoot整合. 二.实现效果 三.实现过程 1.Activiti官网下载:https://www.activiti.org/get-started(我这里使用的是5.22.0版本) 解压:activiti-5.22.0\wars\activiti-explorer,如下图 2.设计器前端部分 仅保留一些静态资源就行了,将这…
Activiti的流程 部署方式有很多种方式,我们可以根据activit工作流引擎提供的ap方式进行部署. 当然了实际需求决定你要使用哪一种api操作,后面的总结详细介绍了使用场景. 下面看一下部署方式. 流程部署的方式在类org.activiti.engine.repository.DeploymentBuilder中定义的部署方接口式如下 : DeploymentBuilder addInputStream(String resourceName, InputStream inputStre…
综合前几篇博文内容.我想在整合这一部分中应该会有非常多模块会跳过不讲,就如自己定义表单的表单列表那一块,由于这些模块在整合的过程中都差点儿没有什么修改,再多讲也是反复无用功. 正由于如此,在创建了流程模型之后.模型列表的展示也是和之前的没有什么差别.并且都是非常easy的后台查询以及前台展示.这一部分也就只是多的讲了. 模型列表页面例如以下: 至于当中的改动和删除也没什么多讲的,删除非常easy,而改动也是activiti-modeler实现的主要功能.我们仅仅须要跳转过去即可. 重要的部分在于…
Activiti的流程 部署方式有非常多种方式,我们能够依据activit工作流引擎提供的ap方式进行部署. 当然了实际需求决定你要使用哪一种api操作,后面的总结具体介绍了使用场景. 以下看一下部署方式. 流程部署的方式在类org.activiti.engine.repository.DeploymentBuilder中定义的部署方接口式例如以下 : DeploymentBuilder addInputStream(String resourceName, InputStream inputS…
pom.xml <!-- activit jar 包 --> <dependency> <groupId>org.activiti</groupId> <artifactId>activiti-engine</artifactId> <version>5.19.0.2</version> </dependency> <dependency> <groupId>org.acti…
activiti学习4:流程文件的部署 用bpmn规范定义好一个流程得到流程定义文件后,需要把该文件部署到activiti的数据库后,这个流程才可以使用. activiti中和流程定义相关的操作都需要使用RepositoryService这个服务组件来进行. activiti中所有的服务组件都需要通过流程引擎对象来获取 一.RepositoryService服务组件 这个组件中提供了一系列管理流程定义和流程部署的api,我们可以使用这个组件中的api来部署流程 1.1 RepositorySer…
流程资源可以是各种类型的文件,在启动流程或流程实例运行过程中会被读取.下面介绍常用的流程资源. 一.流程资源 流程定义文件:扩展名为bpmn20.xml和bpmn; 流程定义的图片:用BPMN2.0规范的各种图形描绘,一般用PNG的格式: 表单文件:把表单内容保存在一个文件中,其扩展名为drl; 规则文件:其扩展名为drl; 二.部署流程资源 部署流程资源有很多种方法,包括classpath.InputStream.字符串.zip格式压缩包,下面将一一介绍. 1.classpath方式 publ…
activiti 流程部署 保存流程图到数据库  保存二进制图片 存储失败 具体错误如下 具体 junit测试 结果 :提示如下: 解决方法: 数据库版本不同 无法保存二进制文件到数据库表中!5.5.27-->5.5.49         数据库覆盖安装,不用担心数据库中表丢失    问题解决…
在将两个带有serviceTask任务的流程部署到数据库的时候发现无法导入,最终分析出如下问题: 1)流程1是打算让定时启动事件可以每小时触发一次 由于原来是用 R/2015-11-01T01:00:00/P1M 来测试是Ok的,最后测试完打算你拷贝到另外项目上部署的时候,打算改为每小时执行一次,于是就顺手改为 R/2015-11-01T01:00:00/P1H 结果部署就失败了,实际上应该是: R/2015-11-01T01:00:00/PT1M 2)如果一个serviceTask没有关联对应…
    工作流引擎 个人觉得直接理解工作流引擎概念有点难度,我们可以先通过了解工作流引擎的职责再反过来理解工作流引擎,工作流引擎一般都做两件事情: 1.定义流程,也就是给我们提供某种规范来定义规则,以及如何定义一个流程的这种规范,同事我们可以根据工作流引擎提供的相关概念来定义更为复杂的流程,这就是工作流引擎做的第一件事叫做定义流程. 2.执行流程,也就是工作流引擎需要解释这个规则,还要负责流程,它相当于流程的调度者,监控每个流程的执行情况,并将流程操作发往下一步,或者根据条件休眠或终止流程的这么…
Eclipse安装Activiti插件(流程设计器) 一.安装步骤: 1,打开Eclipse的 Help -> Install New Software,填上插件地址: Name:Activiti BPMN 2.0 designer Location:http://activiti.org/designer/update/ 2,对应的选项打勾,执行下一步,按提示操作直到安装成功: 注意:Details选项中,记得选中 "Contact all updates sites during in…
目录 activiti学习3:流程引擎对象和流程引擎配置对象 一.activiti的简单使用流程 二.流程引擎配置对象ProcessEngineConfiguration的介绍 三.activiti配置文件的介绍 四.获取流程引擎配置对象 4.1 读取默认名称的配置文件来创建配置对象 4.2 读取自定义名称的配置文件来创建流程引擎配置对象 五.流程引擎对象 5.1 buildProcessEngine方法创建 5.2 用ProcessEngines类来获取 六.总结 activiti学习3:流程…
一.获取流程定义图片 /** * 通过流程部署ID获取流程图图片 */ @Test public void getImageById()throws Exception{ InputStream inputStream=processEngine.getRepositoryService() .getResourceAsStream("7501", "HelloWorld/HelloWorld.png"); // 根据流程部署ID和资源名称获取输入流 FileUti…
package com.zcc.acvitivi; import org.activiti.engine.ProcessEngine;import org.activiti.engine.ProcessEngineConfiguration;import org.activiti.engine.RepositoryService;import org.activiti.engine.repository.Deployment; /** * 流程定义部署 * 相关表: * act_re_deplo…
系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 本系列第一篇:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单. Taurus.MVC 微服务框架 入门开发教程:项目集成:1.服务端:注册中心.网关. Taurus.MVC 微服务框架 入门开发教程:项目集成:2.客户端:ASP.NET(C#)编程语言项目集成:应用中心. Taurus.MVC 微服务框架 入门开发教程:项目集成:3.客户端:其它编程语言项目…
系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 本系列第一篇:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单. Taurus.MVC 微服务框架 入门开发教程:项目集成:1.服务端:注册中心.网关. Taurus.MVC 微服务框架 入门开发教程:项目集成:2.客户端:ASP.NET(C#)编程语言项目集成:应用中心. Taurus.MVC 微服务框架 入门开发教程:项目集成:3.客户端:其它编程语言项目…
系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 开源地址:https://github.com/cyq1162/Taurus.MVC 本系列第一篇:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单. Taurus.MVC 微服务框架 入门开发教程:项目集成:1.服务端:注册中心.网关(提供可运行程序下载). Taurus.MVC 微服务框架 入门开发教程:项目集成:2.客户端:ASP.NET Core(C#…