自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 资源 (5)
  • 收藏
  • 关注

原创 activiti7 实现 flowable 自由跳转方式的可行性研究

activiti7 实现 flowable 自由跳转方式的可行性研究背景新flowable6.X 自由跳转API难点activiti7实现AbstractDynamicStateManagerChangeActivityStateBuilderChangeActivityStateBuilderImplChangeActivityStateCmdDefaultDynamicStateManagerDynamicStateManagerMoveActivityIdContainerMoveExecutionE

2021-07-16 14:41:16 1842 7

原创 easyBpm官方文档

文档地址: 文档地址:

2021-04-27 17:55:46 782

原创 论表单设计器(vue)-动态JS的可行性方案研究

前言目前自己开源了一个低代码开发平台,里面主要包含流程设计器、表单设计器、代码生成器。其中在设计表单设计器时碰到了一些问题,在这里想与大家分享一下。问题来源在设计表单设计器的时候,如果针对开发者(而非业务人员时),经常需要手动写JS或者CSS调整样式,那么 平台如何去覆盖这一层需求呢?问题分析可不可以 针对每一个组件,都设置一个 动态JS属性和CSS属性变量,开发者将手动输入对应脚本。就会引出以下几个问题:如何设置动态脚本呢?这个脚本如何与vue 的method 关联呢?可以做到

2021-03-26 09:43:33 824

原创 用 Depcheck 去除vue 项目没有用到的依赖

前言目前开源项目刚准备上线,发现很多依赖未使用,但是在 package.json 中有定义,因此需要清理一下。这里记录一下排查过程安装 DepcheckPS E:\work\iedaworkspace\project\web\bpm-web> npm install depcheck -gC:\Program Files\nodejs\node_global\depcheck -> C:\Program Files\nodejs\node_global\node_modules\d

2021-03-15 11:45:09 6209 2

原创 低代码开发平台建设步骤及思考

前言由于毕业至今一直从事于企业应用相关的工作,在整个过程中有很多思考。包括低代码最早运用于bpm行业。随着2020年疫情,推动了整个企业应用相关的进程,尤其突出的是重新提出的 低代码甚至零代码开发平台,在大放异彩。下面谈谈我在这个方面的经验,如有兴趣,可以有空细聊。什么是低代码开发平台低代码开发平台(LCDP)是无需编码(0代码)或通过少量代码就可以快速生成应用程序的开发平台。通过可视化进行应用程序开发的方法(参考可视编程语言),使具有不同经验水平的开发人员可以通过图形化的用户界面,使用拖拽组件和模

2021-03-11 23:29:26 9219

原创 获取库中所有表及表结构

获取所有表select * from information_schema.TABLES where TABLE_SCHEMA=(select database());获取表结构select * from information_schema.COLUMNS where TABLE_SCHEMA = (select database()) and TABLE_NAME='bpm_role_group';

2021-02-04 18:24:25 849 1

转载 Pinpoint 分布式系统性能监控工具

Pinpoint 是什么Pinpoint是一款全链路分析工具,提供了无侵入式的调用链监控、方法执行详情查看、应用状态信息监控等功能。基于GoogleDapper论文进行的实现,与另一款开源的全链路分析工具Zipkin类似,但相比Zipkin提供了无侵入式、代码维度的监控等更多的特性。 Pinpoint支持的功能比较丰富,可以支持如下几种功能:服务拓扑图:对整个系统中应用的调用关系进行了可视化的展示,单击某个服务节点,可以显示该节点的详细信息,比如当前节点状态、请求数量等实时活跃线程图:监控应用内活跃线

2021-01-18 11:52:52 756

原创 关于流程引擎与业务如何保证数据一致性研究

项目背景由于项目中使用了flowable流程引擎,然后自己在flowable基础上维护了一套自己的业务表数据。如果处理不当这样会引起 数据一致性问题。 即 我数据插入了流程引擎表,但是业务表插入失败了,二者数据不一致。如何处理? 下面详细分析一下如何处理这种情况。问题描述如何保证 流程引擎数据库 与 业务表数据一致性解决方案单机环境大多数人看到这个问题的时候应该会想到可以通过事务来设置。将事务管理器 transactionManager 设置进 flowable 的配置文件。@Con

2021-01-06 17:33:12 1312

转载 Java 实现位运算计算加减乘除

机器数和机器数的真值一个数在计算机中的二进制表示形式,叫做这个数的机器数。机器数是带符号的,在计算机用机器数的最高位存放符号,正数为0,负数为1。举个例子,比如在机器字长为8位的情况下(机器字长是指计算机直接处理的二进制数据的位数,它决定了计算机的运算精度,一般是8的整数倍,8位、16位、32位、64位、128位),十进制中的+3,转换成二进制就是0000 0011,如果是-3,转换成二进制就是1000 0011。转换的二进制数0000 0011和1000 0011就是机器数。这里我们还需要知道的就是机

2021-01-06 16:53:38 1365

转载 leetcode (一)时间复杂度和空间复杂度

前言准备刷leetcode时 必须了解如何计算复杂度(时间复杂度 空间复杂度)为了解决同一个问题,往往可以采用不同的算法。那么,如何来评判算法的优越性?这里,我们往往通过算法的时间复杂度和空间复杂度来评判某一算法的性能。然而,很多时候,时间复杂度与空间复杂度往往是鱼与熊掌的关系。时间复杂度时间复杂度:评估执行程序所需的时间。可以估算出程序对处理器的使用程度。时间复杂度并不是表示算法所花费的具体时间大小,而是表征算法运算时间与输入之间的关系。一般以 表示算法复杂度,这里的 通常为:常数

2021-01-04 21:03:48 996

转载 Redis集群添加和删除节点(主和从)

一、原始集群(6个节点,3主3从):(1)启动集群:因为集群创建一次就行,所以直接启动所有节点服务即可[root@Master ~]# /usr/local/redis/bin/redis-server /usr/local/redis-cluster/7001/redis.conf [root@Master ~]# /usr/local/redis/bin/redis-server /usr/local/redis-cluster/7002/redis.conf [root@Master ~]

2020-12-29 11:57:38 380

原创 dubbo 连接灵魂三问

前沿目前在看深度剖析ApacheDubbo核心技术内幕一书![(https://img-blog.csdnimg.cn/20201229103448862.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3podXpob3VsaW4=,size_16,color_FFFFFF,t_70),发现几个很有意思的问题:第一点:由于同一个服务提供者机

2020-12-29 10:54:11 512

原创 MYSQL主从同步数据延迟及解决方案可行性研究

场景描述当我们成功搭建了MYSQL 主从复制,读写分离,如果在并发量和数据量不大的情况下,使用起来是非常流畅的。但是在高并发的情况下, 主库接收大量的写请求操作,在短时间内产生了大量的binlog。这些操作需要全部到从库,并且执行。因此产生了主从数据库的数据不一致,这种情况下,如何解决呢?如何判断是否存再主从延迟的方法MySQL提供了从服务器状态命令,可以通过 show slave status 命令进行查看。 主要看 Seconds_Behind_Master参数的值来判断,是否有发生主从延时。

2020-12-25 15:27:54 282 1

原创 springboot中banner的使用

项目背景目前开源EasyBpm 项目 需要定制化banner技术研究参考 springboot启动bannerspringboot的默认banner如下:源码分析在启动时会检查根配置目录下有无banner.txt文件,源码如下:解决方案注:自定义banner:有多种方式:可自行在application.yml或者application.properties中注入banner.location并将自定义图形文件(banner.txt)放入该目录下指定banner.ima

2020-12-16 16:05:39 3347

原创 Java Arrays.asList() add UnsupportedOperationException

项目场景:今天在使用 Arrays.asList() 时,使用 add 方法,出现了一个很奇怪的问题。问题描述:List<String> actionList = Arrays.asList("1","2");actionList.add("3");出现以下异常 java.lang.UnsupportedOperationException: null at java.util.AbstractList.add(AbstractList.java:148) at java

2020-12-10 11:37:52 190

原创 EasyBpm 文档

EasyBpm 文档整体设计思路拆分思路申请人基本信息申请表单信息审批记录查看流程图附件上传模板附件下载提交申请按钮(暂存、提交、撤销)用户审批表单用户审批按钮(通过、不通过、退回、跳转、加签、减签、新增临时节点)演算审批链审批节点人员合并通知模板申请编号规则...

2020-12-02 10:35:07 987

原创 记一次nacos CUP线程过高排查

问题描述截图

2020-12-02 10:18:13 4183

原创 java 通过模板生成导出PDF方案对比

需求背景目前项目中有通过 上传word模板,结合用户填写数据,导出渲染后的PDF数据,提升数据安全性。现记录一下使用过程及遇到的问题项目技术制作模板步骤常见问题1. 元素类型 "meta" 必须由匹配的结束标记 "</meta>" 终止。问题原因flying saucer对xml格式要求很严格,因此必须是完整的格式。(尝试使用过 Jsoup.parse(formatContent).html() 修复格式,但是发现 这个问题还是不能修复,目前只能手动改)问题描述or

2020-11-27 16:49:38 1861

原创 插件式框架技术可行性研究

插件式框架技术可行性研究前沿纯粹属于突发奇想,落地可能比这情况复杂多,这里暂只提供可行性研究,后续如果有时间可能会提供出demo,目前仅供参考,有兴趣的可以一起讨论。需求背景因为我主要从事与流程引擎相关的工作,最近突发奇想,因为不同的公司可能会有类似的流程。能不能将现有的 流程引擎应用,升级为流程引擎中心。通过引入插件开发者,增强系统的核心竞争力。类似与 jira 插件 或者 微信/支付宝 等小程序模式。技术原理通过类加载机制,加载远程或指定路径的bean,从而实现项目插件化的目的。技术准备

2020-10-26 11:08:23 914

原创 flowable BUG及修复方式(6.4.2)

1. 修复历史记录表 不会设置assignee 及 owner 字段值。问题描述: 历史记录表记录数据时,assignee 及 owner 字段值 为空!解决方案: 手动设置对应字段值 HistoryManager historyManager = Context.getProcessEngineConfiguration().getHistoryManager(); taskEntity.setAssignee(userTaskAssignee); taskEntity.setOwner(use

2020-09-25 14:05:24 1040 1

原创 Java常用编码套路

前因最近线上环境经常出现OOM,导致系统崩溃,在排查过程中,发现代码在使用多线程时有很多不规范的地方,导致内存泄露,因此我决定整理出一些常用的示例,在使用时 直接套用即可。因个人技术水平有限,如有错误,望指正。宗旨代码可以不是最高效和最简洁的,但一定会是最安全和清晰明了的。1. 流什么情况下需要手动关闭为什么要关闭流一个对象在没有被引用变量指向的时候它会变成垃圾,最终会被垃圾回收器从内存中清除,对于我们创建的流对象,干嘛还要"调用close方法将其进行关闭呢,以释放与其相关的资源"呢?当我们在

2020-09-23 17:02:25 227

原创 数据结构学习方案

https://www.cs.usfca.edu/~galles/visualization/Algorithms.html

2020-09-23 14:39:38 111

原创 Centos 开启虚拟内存

Centos 开启虚拟内存开始设置#if 表示infile,of表示outfile,bs=1024代表增加的模块大小,count=16384000代表16384000个模块,也就是16G空间dd if=/dev/zero of=/var/swap bs=1024 count=16384000mkswap /var/swapmkswap -f /var/swapswapon /var/swap修改文件vim /etc/fstab添加一行/var/swap swap swap default

2020-09-21 11:44:21 643

原创 短链接思路及实现方案

前因目前项目中在用一个后端生成二维码的功能,因为二维码传递信息过多,导致 二维码帧点数过多,最后形成的图片太密集,用手机识别时 需比较长的时间。那么碰到这种情况改如何处理呢?处理前:处理后:问题分析二维码太密的原因是 传递的信息太多,那么,我们是否可以通过减少传递的信息,来降低二维码密集度。目前有两个方向:1. 产品方向: 因为传递的参数为了安全性,是加密后的,因此太长。为了安全性,因此这个方向可以直接放弃了。2. 技术方向: 因为之前刚好调用过新浪的短链接生产接口,用短链接与长链接相互

2020-08-25 09:39:33 2719 1

原创 jenkins自动化构建Java项目

jenkins自动化构建Java项目基础环境dockercentos7第一步 安装jenkins注意事项:1. 创建 挂载目录,并指定端口 mkdir /data/docker/jenkins 2. 指定 运行用户 -u root 表明用root用户运行,否则默认为jenkins用户 并获取解锁密码docker run -d -p 8083:8080 -p 50001:50000 -e TZ="Asia/Shanghai" -v /data/docker/jenkins:/va

2020-08-20 17:57:00 495

原创 jenkins 自动化构建 vue-admin-template 项目BUG

生产环境构建vue-admin-template BUG问题重现解决方案问题重现目前前端项目用的模板是:vue-admin-template,项目开发完成后,打包上线npm run build:prod打好包,部署到nginx后,访问,报下面的错Cannot assign to read only property ‘exports’ of object '#解决方案修改babel.config.js文件,添加sourceType: ‘unambiguous’,修改后的babel.config

2020-08-14 21:19:02 157

原创 开源流程引擎地址

前沿经过最近一个多月的准备,目前开源引擎一期已基本开发完毕,目前正在内测中,如有问题可以及时与我联系,内测完毕后 即放出内测代码地址,下面是预览地址:http://120.77.218.141:9992/bpm-web/index.html涉及技术前端: vue + elementui后端:springboot 2.2.Xdubbo 2.6.5mysql 5.8redis配置中心: nacos 1.2.0注册中心: nacos 1.2.0发布部署: jenkins 2.50.0MA

2020-08-12 11:55:21 913

原创 解决 flowable 无 租户 和 ID 组合启动的问题

问题描述:由于目前项目采用多租户方式和指定 流程编号 方式组合启动流程,但是发现 flowable 未提供对应方式,那么该如何解决呢?源代码截图解决方案仔细查看 runtimeService 发现提供了 构造器启动方式,因此可以采用该方法 启动流程启动方式可以改成如下: Authentication.setAuthenticatedUserId(String.valueOf(applyAddReqDTO.getStartUserId())); /* 以Buil

2020-06-23 15:15:17 1800 1

原创 bpmn-js 流程设计器 与 flowable/activiti 拓展的可行性研究

bpmn-js 流程设计器 与 flowable/activiti 拓展的可行性研究前因先上效果图涉及技术引用前因最近在准备开源一款流程引擎项目,主要包含 流程设计器 表单设计器 流程引擎,碰见了一个问题 开发过程中 经常需要拓展节点或节点元素,因为bpmn规范可能不满足实际项目需求。记录一下 解决思路。先上效果图涉及技术前端使用 bpmn.js拓展 flowable.json或者 activiti.json,新增我们 拓展的节点及元素。{ "name": "Flowable",

2020-06-18 09:49:34 7860 12

原创 解决 redis 序列化 java8 LocalDateTime 问题

解决 redis 序列化 java8 LocalDateTime 问题问题背景问题描述问题分析解决方案一(全局)解决方案二(单个字段)问题背景目前项目全面支持JDK1.8,使用 LocalDateTime 代替 Date,原因为 date 格式化时不安全。问题描述org.springframework.data.redis.serializer.SerializationException: Could not read JSON: Can not construct instance of ja

2020-06-15 11:46:13 2872

原创 MybatisPlus 3.X 与lombok @Builder 冲突 解决方案

问题描述最近将MybatisPlus 由 2.X 升级至 3.X 结果发现了一系列血案,最头痛的是 我一个实体类 使用了@Builder 命名设置的为 String 字段,访问时返回 以下错误:问题原因@Bulider 与 MybatisPlus 3.X 冲突,后续我有空看下源码,记录一下问题解决方案同时加上 @Builder @AllArgsConstructor @NoArgsConstructor...

2020-06-12 10:38:49 1854 1

原创 bpm 项目框架搭建

项目框架目前项目框架主体已搭建完毕,后续即将正式开发,敬请期待-。-前端 VUE2.X流程设计器 bpmn.js 2.0表单设计器 k-form-design后端 1. springboot 2.2.X 2. flowable 6.4.1 3. dubbo 2.6.5 4. mybatisplus存储 1. redis 2. mysql配置中心 nacos 效果图1. 流程设计器![在这里插入图片描述](https://img-blog.cs

2020-06-05 15:31:32 2547 2

原创 nacos 1.2.0 docker 单机搭建

前言:因为了解到Eureka2.0及其部分组件闭源的消息, 项目架构选型时,注册中心组件选择了Nacos作为项目的注册中心,我负责搭建Nacos服务本文所使用的是替换Eureka的Nacos,至于nacos是什么,想必看到本文的朋友应该都了解,不了解的可以看这里。Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为

2020-05-14 11:10:01 573

原创 解决easyExcel读取EXCEL用String去接收数字,出现小数点BUG

起因目前项目中需要使用easyExcel 读取Excel文件,因为后端使用mongodb存储格式,数据格式不确定。因此读取文件时,未传递.class对象(指用方法一调用),使用String 接收Number 类型时,出现 .0情况。官方文档分析easyExcel 官方文档描述如下, 如果传递了 .class 对象接收,则可以使用官方的NumberFormat.format()方式处理。...

2020-04-28 11:38:27 17955 12

原创 根据配置反向生BpmnModel

需求来源有的时候我们需要动态调整流程图,每次调整时都需要修改、部署 及发布等操作 才能正常生成我们想要的BpmnModel。这个时候就想,我们能不能通过数据库配置,反向生成流程图呢?当然可以,这个也可以解决动态加节点问题。正向: 流程设计器设计-》保存到-》BpmnModel=》部署=》发布 适用与业务人员反向: 数据库=》BpmnModel 适用与对产品非常熟悉的开发人员数据...

2020-04-21 15:39:43 436

原创 开源流程引擎(best-bpm)flag

灵感来源本人毕业至今,主要从事与企业应用相关工作,主要从事于流程引擎相关工作。学习过IBM BPM,Activiti/flowable等流程引擎。业余之时,经常帮他人提供和解决相关问题及思路,发现市面上虽然有开源软件,但是如果公司需要使用流程引擎,基本上都要对市面上开源流程引擎进行二次开发。二开时,则先得对这个产品熟悉,疯狂肯相关英文文档,后面再根据公司实际情况进行开发,无形增加时间和人力成本。...

2020-04-20 16:33:15 4839 3

原创 flowable 流程实例新增临时节点

flowable 流程实例新增临时节点需求目的flowable 自带实现方式结果分析:**解决方案**功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowch...

2020-04-16 18:10:56 11242 51

原创 flowable 6.4.1 FlowableOptimisticLockingException

flowable 6.4.1 FlowableOptimisticLockingExceptionflowable FlowableOptimisticLockingException问题描述问题分析源代码分析解决方案flowable FlowableOptimisticLockingException最近使用flowable开发时,由于业务代码使用了 @Transactional 导致保存业...

2019-11-19 16:44:01 3593

原创 AngularJS SpringMVC解决post参数获取失败

AngularJS SpringMVC解决post参数获取失败在angularjs中添加以下代码,后台可以项springmvc直接根据name获取值一样获取参数代码块/** * 解决post 后台接受不到参数问题 */processApp .config([ '$httpProvider', function($

2016-09-22 15:26:58 345

原创 修改jetty 服务器图标

1.在项目的webapp根目录或者字目录放置一个favicon.ico图标。 2.在页面中加入以下两行代码,兼容主流浏览器。 3.重启jetty ,就会发现项目图标已经更改。 <!-- 修改ico --><link rel="icon" href="/process-demo/image/processIcon/favicon.ico" type="image/x-icon" />

2016-09-02 09:29:04 1032

easybpm-form新增日期时间组件操作文档-pig.pdf

easybpm form 自定义组件操作示例

2021-03-12

security+ssm+maven+tiles动态实现数据库权限管理

security+ssm+maven+tiles动态实现数据库权限管理

2016-08-23

03_学员用书_JAVASE01_IMAGE版

03_学员用书_JA03_学员用书_JAVASE01_IMAGE版.pdf )VASE01_IMAGE版.pdf

2015-12-08

Java Eclipse ee集合jetty和配置

Java Eclipse ee集合jetty和配置

2015-12-08

九九乘法表Java

九九乘法表Java

2015-06-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除