- 博客(78)
- 资源 (16)
- 问答 (2)
- 收藏
- 关注
原创 25、Camunda Service Task、任务监听器和执行监听器
Service Task、任务监听器和执行监听器都可执行调用Java 业务代码。参考资料:http://camunda-cn.shaochenfeng.com/user-guide/process-engine/delegation-code/服务任务 Class 配置的类,必须实现接口org.camunda.bpm.engine.impl.pvm.delegate.ActivityBehavior; 功能大于JavaDelegate,用不好会出问题,小心使用。或org.camunda.bpm.
2022-06-22 16:25:35
8504
1
原创 24、Camunda 流程变量作用域
@DOC流程变量作用域记录流程变量作用域和当前活动ID识别目标作用域,当前活动ID可能是执行器ID、或多实例ID,具体需看具体流程分支。execution.setVariable()会在当前活动ID(执行器ID)下记录变量,如果当前执行器有父执行器ID会写入到父执行器ID下。这也就是在子流程中设置的变量在父流程中可获取到的原因。父执行器下的变量共享到子执行器下的变量。execution.setVariableLocal() local可直接指定当前变量作用域,写入变量时,会直接写入到当前执行器ID
2021-12-01 15:01:50
2719
原创 23、Camunda DMN决策初探
DMN 决策表 初探Camunda DMN 决策Camunda 中使用DMN决策Camunda DMN案例创建学生分配班级审核流程创建决策开启流程,校长审核时,指定决策表中所需要的变量注意参考资料Camunda DMN 决策Camunda 中使用DMN决策Camunda 支持DMN1.3版本,在BPMN业务活动流程中,可通过业务规则任务调用DMN决策。DMN决策目的是想把业务代码和决策进行解耦,使决策分析人员只需关心决策即可。Camunda DMN案例通过幼儿园学生年龄age和身高height分配
2021-10-19 11:27:08
4269
原创 Lock ReentrantLock ReentrantReadWriteLock 显示锁实现案例
Synchronized 关键字 是JDK内部实现的锁,俗称“隐示锁”。控制轮廓小,比如多个线程同时访问锁的方法,其中获取锁的线程由于某个操作导致假死了,一直释放不了锁,其他的线程就必须等待,最终导致系统崩溃。Lock 接口,JDK定义了“显示锁”的标准,内部提供了tryLock() lock() lockInterruptibly() unlock()等方法,更加可控的使用锁。lockInt...
2021-10-19 09:25:37
179
原创 9、Vue组件-组件v-model双向数据绑定,组件Slot插槽
组件v-model双向数据绑定组件v-model双向数据绑定MyInput.vue组件 完成input标签的双向数据绑定Home.vue 组件使用MyInput.vue组件时,双向数据绑定组件v-model可以双向数据绑定多个值组件绑定多个值 MyInput.vue组件Home.vue使用MyInput.vue 双向绑定多个值组件Slot插槽案例 按钮 组件Slot,按钮名称由外部指定 MyButton.vueHome.vue 使用插件MyButton.vue,指定Slot内容组件v-model双向数据
2021-10-19 09:25:08
1071
原创 22、Camunda 补偿事件、事务子流程、分布式事务一致性
Camunda 补偿事件、事务子流程、分布式事务一致性补偿事件 Compensation Event事务子流程事务子流程如果没有暂停点事务子流程中补偿事件子流程不会触发Camunda 如何保证分布式事务一致性错误事件+补偿事件 就可以完成事务一致性,为什么还需要有个事务子流程?参考资料补偿事件 Compensation Event1、按照补偿事件的定义,补偿事件只会在他标识的task成功执行完毕之后才有可能被触发;2、如果他标识的task出现异常,会触发边界异常中断事件,这个补偿事件不会触发(Task
2021-10-15 16:36:43
3982
2
原创 21、camunda外部任务
外部任务依赖Spring boot application.yml 配置camunda引擎地址外部任务流程案例自定开启订阅配置 Subscriptions订阅外部任务配置 HandlerConfiguration外部任务拦截器camunda 外部任务可通过HTTPClient或者Postman调用依赖 <!--Camunda 外部任务--> <dependency> <groupId>org.camunda.bpm.springboot</g
2021-10-09 11:53:04
3133
3
原创 20、camunda Connector连接器 发送POST接口
camunda Connector连接器 发送POST接口连接器使用项目添加依赖连接器的使用案例流程图 conn/conn3.bpmn流程部署、启动流程Rest接口案例连接器使用连接器可向其他服务发送Http Rest或SOAP请求,调用其他服务。地址可使用${} 读取流程变量;调用Http接口返回值可通过 camunda spin 解析JSON或XML数据。项目添加依赖<!--添加连接器插件后,连接器 就可以使用了--> <dependency>
2021-10-09 11:34:12
2558
原创 19、spring boot 集成camunda7.15
spring boot 集成camunda7.15Maven添加项目依赖Spring application.yml配置Spring boot启动类项目启动,由于camunda webapp,可登录camundaMaven添加项目依赖<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</a
2021-10-09 11:20:32
2616
原创 18、Camunda Script Task Groovy 发送POST请求
Groovy 发送POST Rest接口请求引入依赖流程Groovy脚本 发送POST请求开启流程案例Rest接口2、groovy 案例22.1、流程和groovy脚本2.2、流程开启设置变量引入依赖<!--Spring boot 集成camunda--> <dependency> <groupId>org.camunda.bpm.springboot</groupId> <artifa
2021-10-09 11:14:42
1889
原创 8、Vue组件-自定义组件事件$emit(子组件向父组件传递数据),第三方 mitt 插件实现非父子组件间传递数据
Vue组件-自定义组件事件$emit自定义组件事件$emit(子组件向父组件传递数据)案例 Home组件写登录逻辑,声明`@login`事件MyLogin 组件主要完成登录页面布局及触发事件-$emit$emit 触发事件传递的参数可进行校验-emits点击“登录”按钮时,触发login事件时,对参数是否符合规则校验-emitsmitt 第三方插件实现非父子组件间传递数据项目中引入mitt插件定义Event工具JS,可快速引用mitt 。model/Event.js在组件挂载页面时,监听指定的事件 Even
2021-08-09 21:43:05
666
原创 7、Vue 组件-props属性,$refs和$parent
Vue组件1、简单Vue组件1.1、根组件 案例 App.vue1.2、Home组件案例 Home.vue2、父组件向子组件传递参数--props属性2.1、父组件案例 Father.vue2.2、子组件案例 child.vue3、父子组件相互间访问-`$refs`和`$parent`3.1、父组件案例 MyF.vue3.2、子组件案例 MyC.vue1、简单Vue组件每一个.vue文件都是一个组件,包括模板template,业务逻辑 script 和样式styleVue项目的每个应用都是一个个小组
2021-08-08 12:40:24
327
原创 6、localStorage 本地数据存储-mounted页面加载后触发
localStorage 本地数据存储-mounted页面加载后触发localStorage 案例,数据保存到本地,刷新页面数据还在localStorage 案例,数据保存到本地,刷新页面数据还在<template> <div> <h3>文本框输入内容,回车保存,刷新页面数据一致</h3> <input type="text" v-model="textInfo" @keydown.enter="saveDat
2021-07-31 16:22:00
510
原创 5、Vue3 集成Sass和Scss
Vue3 集成Sass和ScssVue 项目安装sass-loader node-sassvue组件此时可以写Sass或Scss CSS样式语法了VS Code 需要安装对应插件Vue 项目安装sass-loader node-sass默认Vue项目不能够解析sass或scss。vue create vue3Democd vue3Demonpm install#安装sass-loader node-sassnpm install -D sass-loader node-sass #or
2021-07-31 13:49:09
1106
原创 4、计算属性,Watch 侦听
计算属性及Watch侦听计算属性Watch 侦听计算属性<template> <div> <h3>1、计算属性,输入内容翻转展示</h3> {{reverseMessage}} <br> <input type="text" v-model="message"> <h3>2、计算属性,完成数据列表查找;文本框输入的内容是否在列表包含
2021-07-31 12:21:44
144
原创 3、Vue 原生JS-$Ref-表单双向绑定
Vue原生JS执行及表单双向绑定案例Vue 中写原生JS代码Vue $refs操作DOMVue3 表单双向数据绑定案例Vue 中写原生JS代码<template> <div> <input type="text" name="" id="name"> <button @click="getName">Vue中支持原生JS</button> </div></template>
2021-07-31 11:33:01
319
原创 2、监控事件、事件传参、事件修饰符、按键修饰符
事件监控Vue使用事件案例事件修饰符按键修饰符Vue使用事件案例<template> <div> <span>{{ msg }}</span> <br /> <button @click="modifyMsg()">简单事件</button> <button @click="modifyMsg">事件可以没有()</button> <br />
2021-07-29 22:08:31
134
原创 1、Vue 环境搭建
Vue环境搭建NPM 环境安装-Node.js安装配置npm的全局模块的存放路径以及缓存的路径安装CNPM,国内淘宝下载比较快,只后可以用CNPM代替NPM命令了如需安装yarn,npm和yarn功能一样,可不安装任意目录下都可以使用cnpm、vue等命令,环境变量配置Vue及Vue-cli 脚手架安装安装webpack 模板通过vue-cli创建项目通过Vite 脚手架快速创建项目使用npm创建使用yarn创建NPM 环境安装-Node.js安装#检查node是否安装成功node -vnpm -v
2021-07-28 23:15:14
132
转载 17、Camunda bpmn.js 使用记录
Camundabpmn.js 绘制流程图高亮展示bpmn.js 绘制流程图高亮展示https://blog.youkuaiyun.com/qq_35664308/article/details/110469247
2021-07-26 10:39:33
3500
原创 16、camunda流程部署后act_re_procdef 表无数据
act_re_procdef 流程部署后,表无数据camunda 流程部署后表无数据修改后代码camunda 流程部署后表无数据camunda流程部署时,有个校验resourceName必须以"bpmn20.xml", "bpmn"结尾,否则校验不通过,不会向表act_re_procdef 插入数据。但是act_re_deployment和act_ge_bytearray 表会有数据。@Test public void deploy() throws IOException {
2021-07-26 10:09:46
2246
6
原创 15、工作流Web流程设计器及表单设计器
工作流Web流程设计器及表单设计器Web 流程设计器自定义表单-集成到流程中Web 流程设计器Activi6 提供了Web版BPMN 流程设计器。Camunda和Flowable 都提供了,独立的Web流程设计器。有时项目需要,需要把这些设计器集成到业务系统中,可以进行集成处理。camunda modeler 独立的Web版 bpmn流程可视化在线编辑;https://github.com/camunda/camunda-modelerflowable Web流程设计器及内部表单设计器:flo
2021-07-14 16:19:15
3714
1
转载 14、flowable、camunda(卡蒙达) 等开源工作流引擎选择
市场上比较有名的开源流程引擎有osworkflow、jbpm、activiti、flowable、camunda。其中:Jbpm4、Activiti、Flowable、camunda四个框架同宗同源,祖先都是Jbpm4,开发者只要用过其中一个框架,基本上就会用其它三个。开发低代码平台、OA系统、BPM软件均需要流程可视化功能,而流程可视化核心是流程引擎和流程设计器,对于市场上如此多的开源流程引擎,哪个功能和性能好,该如何选型呢?推荐大家使用camunda(流程引擎)+bpmn-js(流程设计器)组合,笔者
2021-07-14 15:08:39
5976
原创 13、撤回(撤销)、驳回(退回)、作废(终止)、挂起(中止)
撤回-撤销、驳回-退回、作废-终止、挂起-中止流程撤回-撤销1、流程定义2、部署流程,开启流程,完成第一个节点"审批1"审批3、撤回案例流程驳回-退回-退回到历史节点的任何节点流程挂起、作废流程撤回-撤销1、流程定义<process id="test2" isClosed="false" isExecutable="true" processType="None"> <startEvent id="_2" name="StartEvent"/> <user
2021-07-13 11:56:54
16254
3
原创 6、TypeScript接口--方法约束(入参、返回值)
接口--方法约束(入参、返回值)接口 在方法或函数参数上通过接口对入参进行约束接口 在方法或函数参数上通过接口对入参进行约束约束入参的参数个数、数据类型约束方法返回值// 接口 约束//1、方法上使用接口参数//1.1、属性接口,对传入的参数进行约束,属性约束//传入的参数必须是对象,并且必须有属性label属性,是string类型function say(obj:{lable:string}):void{ console.log(obj.lable);}//say('ff')
2021-07-12 17:08:03
1629
原创 5、ts中的类、继承及抽象类、多态
ts中的类、继承及抽象类、多态TS中的类及继承使用抽象类及多态TS中的类及继承使用//public private protected staticclass Animal { public name:string; private age:number; protected birthday:string; public speed:number=10; constructor(name:string,age:number,birthday:string){
2021-07-12 17:07:40
373
原创 7、接口-数组、对象及类的约束
接口-数组、对象及类的约束接口不仅可以对方法进行约束接口不仅可以对方法进行约束对数组约束对对象约束(不常用)对类约束(多用)// 可索引接口:数组、对象的约束(不常用)//1、对数组的约束,可以用any,数组中传递任何类型interface MyArray { [index:number]:string}let arr:MyArray=['a','b','c'];//值必须是字符串console.log(arr[0]);//2、对对象的约束,索引可以是string类型in
2021-07-12 17:07:19
249
原创 8、TypeScript 泛型--函数、类、接口使用泛型
泛型--函数、类、接口使用泛型函数、类及接口中如何使用泛型函数、类及接口中如何使用泛型//泛型//一个方法既可以返回string类型,又可以返回number类型时,需要定义2个方法,这样就会导致方法重了。// 如果用any时,编译器就会放弃类型检查的功能。采用泛型可以满足需求(有类型校验)。//1、泛型函数//定义方法使用泛型,返回泛型的参数function getData<T>(value:T):T { return value;}console.log(getDa
2021-07-12 17:06:57
148
原创 9、TypeScript 模块
模块模块模块代码案例创建模块DBHelper.tsindex.ts 中引入模块Node环境运行index.js模块TypeScript 1.5里面属于已经发生变化,“内部模块”成为“命名空间”,“外部模块”简称“模块”。模块里面的变量、函数、类等对象,在模块外部不可访问,必须在模块内export。要使用某个模块,必须import到自己代码中。项目中使用第三方模块就import当前项目暴露功能给其他项目使用export项目中为了提高代码阅读,对于相同功能进行分类整合,使用命名空间模块代码案例
2021-07-12 17:06:30
98
2
原创 10、TypeScript 命名空间
命名空间命名空间命名空间案例BigDog.tx 项目代码SmallDog.tx 项目代码index.ts 使用命名空间Node环境执行JS命名空间在代码内部为了避免命名冲突,组织代码的手段;命名空间内部对象及命名空间都需要export,外部才能够访问;3.4.5版本之后,通过import {} from方式引入命名空间;命名空间案例BigDog.tx 项目代码//命名空间也需要export,外部才能够使用export namespace com.hongying{ //外部使用
2021-07-12 17:06:07
111
原创 11、TypeScript 装饰器-装饰器执行顺序
装饰器-装饰器执行顺序装饰器装饰器的写法1、类装饰器 重载方法2、属性装饰器3、方法装饰器4、参数装饰器5、装饰器执行顺序装饰器装饰器是一种特殊类型的声明,能够附加到类声明、方法、属性或参数上,修改类的行为;装饰器就是一个方法,可以注入到类、方法、属性参数上来扩展类、属性、方法、参数的功能。类似 @注解 增强创建的装饰器:类装饰器、属性装饰器、方法装饰器、参数装饰器装饰器的写法:普通装饰器(无法传参)、装饰器工厂(可传参)装饰器是JS过去几年最大的成就之一,已经是ES7的标准特性之一装饰器
2021-07-12 17:05:45
393
3
原创 12、TS声明文件--TS中使用原JS代码
TS声明文件--TS中使用原JS代码声明文件TS中引入 声明文件 格式案例1、原来JS使用方式Calcu.js在HTML中使用2、没有声明文件时,在TS中使用index.tsindex.html 中使用3、在TypeScript里面添加声明如下使用声明信息时,TS编译不会提示错误,并且页面正常运行关于声明文件更多高质量声明查看链接声明文件在开发中不可避免要引用其他第三方的 JavaScript 的库。虽然通过直接引用可以调用库的类和方法,但是却无法使用TypeScript 诸如类型检查等特性功能。为了
2021-07-12 17:05:10
2291
原创 4、ES5 类定义,继承
ES5 类定义,继承1、ES5类定义、静态方法、原型链的使用2、类继承2.1、对象冒充继承2.2、原型链继承2.3、通常采用对象冒充+原型链继承1、ES5类定义、静态方法、原型链的使用1、ES5 里面的类、构造方法、属性、实例方法及静态方法 function Animal(name,age) { this.name=name; this.age=age; //1.1、构造函数里面的方法 this.run=function () {
2021-07-12 17:04:40
223
原创 3、TypeScript函数
函数函数函数// 1、函数function say(name:string,age:number):string { return `${name}--${age}`;}console.log(say("jake",23));//2、可选参数,可选参数必须放到最后function getInfo(name: string, age?: number):string { if(age){ return `${name}--${age}`; } r
2021-07-11 16:59:17
76
原创 2、TypeScript数据类型
数据类型数据类型使用数据类型使用//数据类型let flag:boolean=true;let num:number=23;num=56.8;console.log(num);let str:string="hello typescript";//数组let arr:number[]=[1,2,3];let arr2:string[]=["h","bb","ff"];//通过泛型定义数组类型let arr3:Array<number>=[3,2,3];console
2021-07-11 16:58:21
294
原创 1、TypeScript 环境设置
环境设置安装编译TypeScript自动编译TS/TSX初始化TS配置文件参考文档安装yum install -g typescript#oryarn global add typescript编译TypeScripttsc index.ts自动编译TS/TSX编译一个或多个TS文件我们可以使用tsc命令进行编译,这样每次修改TS文件后都需要手动编译。可以配置VSCode 或Idea,可自动编译项目中所有的TS文件,需要提供tsconfig.json 配置文件,配置outDir属
2021-07-11 16:57:25
291
原创 3、Elastic Search Linux集群安装
Linux集群安装1、Elastic集群安装2、kibana安装3、防火墙端口1、Elastic集群安装#1、查看用户组cat /etc/group | grep esrootcat /etc/passwd |grep esroot#创建用户不创建home目录,无密码groupadd esrootuseradd -r -g esroot esroot#可设置密码#passwd esrootuserdel esrootgroupdel esroot#2、解压elasticsear
2021-07-11 16:43:22
170
原创 2、Elastic更新文档几个小记录
Elastic更新文档几个小记录1、max_result_window1.1、分页时,有时报异常illegal_argument_exception1.2、动态更新索引 max_result_window1.3、创建索引时指定 max_result_window2、track_total_hits 追踪所有3、track_scores 强制score打分4、refresh_interval 延时刷新4.1、创建索引时可指定refresh_interval4.2、Java 查询时指定4.3、参考资料1、ma
2021-07-11 16:42:07
404
原创 1、Elastic 写入Date 数据类型
Elastic 写入Date 数据类型1、索引建立2、Java代码写入数据 及Date检索3、Date 类型检索时需要指定 format1、索引建立GET /student/_searchPOST /student/_delete_by_query{ "query":{ "match_all":{} }}GET /studentDELETE /studentPUT /student{ "mappings": { "dynamic":"strict",
2021-07-11 16:41:03
1402
原创 13、JPA乐观锁和悲观锁
JPA乐观锁和悲观锁JPA乐观锁和悲观锁Entity 类型定义悲观锁案例乐观锁案例控制台打印输出JPA乐观锁和悲观锁JPA中锁有6种:乐观锁有2种,悲观锁3种,另外1种无锁模式 NONEOPTIMISTIC 和READ锁模式相同,JPA2.0 任然支持READ模式,但是推荐使用OPTIMISTICOPTIMISTIC_FORCE_INCREMENT 和WRITE模式相同,推荐使用PESSIMISTIC_READ 悲观锁,只要事务读实体,实体管理器就锁定当前实体,直到事务提交才释放锁。当多次重复读
2021-07-11 16:34:03
1264
原创 12、JPA查询-3种查询方式
JPA查询JPA 3中查询方式案例数据准备1、Entity类型定义2、persistence.xml配置3、初始化查询案例数据查询案例1、JPQL查询2、SQL查询3、命名查询@NamedNativeQuery @NamedQuery3.1、命名查询 JPQL和SQL定义3.2、命名查询案例JPA 3中查询方式JPQL 方式查询,表和列名称都是类和字段名称 @Entity 名称SQL 传统SQL查询@NamedNativeQuery 和@NamedQuery 命名查询,最大程度复用JPQL或S
2021-07-11 15:43:12
6170
oracledb_exporter.0.3.0rc1-ora18.5.linux-amd64.tar.gz
2022-06-17
Spring-Boot结合Security+JWT 简单实现前后端分离用户登录、授权案例
2021-07-12
HBaseHelper Hbase增删改查帮助类
2017-09-02
HTML5+JQuery Mobile 移动端WebApp案例
2015-11-02
自定义窗口,实现控件可自由布局
2016-08-08
SQLserve性能优化,拜托大家
2016-08-05
TA创建的收藏夹 TA关注的收藏夹
TA关注的人