
java
颐和园
这个作者很懒,什么都没留下…
展开
-
和尚吃馒头问题
问题:总共有 93 个馒头有 50 个和尚,每个和尚一次只能吃一个馒头,但最多只允许吃 3 个馒头每个和尚至少吃一个馒头看每个和尚吃了那些馒头这个题很有意思,考的是 java 多线程。难点在于第 3 点。解决思路是将线程的争抢分为两个阶段,并用一个计数器保存有几个和尚吃过馒头了,第一阶段只允许每个和尚吃1个馒头,判断计数器值,当所有和尚都吃过1个馒头后,开始第二轮争抢。答案:...原创 2018-06-08 15:39:02 · 4229 阅读 · 2 评论 -
JBPM 7.17 学习笔记(7)连接mysql数据库
修改应用服务器配置文件,包括 4 个 standalone-*.xml 文件:<datasources><datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS" enabled="true" use-java-context=...原创 2019-04-05 14:21:00 · 1164 阅读 · 0 评论 -
JBPM 7.17 学习笔记(6)编译运行 rhpam7-order-it-hw-demo-springboot-app
首先运行 jbpm server 7.17:./standalone.sh -b 0.0.0.0访问 http://localhost:8080/business-central/,用 kris 登录,import project,项目地址:https://github.com/jbossdemocentral/rhpam7-order-it-hw-demo-springboot-app...原创 2019-04-05 14:18:26 · 953 阅读 · 1 评论 -
JBPM 7.17 学习笔记(5)常见问题排除
XOR split could not find at least one valid outgoing connection for split null这通常是因为排他性网关的条件表达式中使用了流程变量,但是代码中上一个任务 complete 时并没有将这个变量带上(或传递)给网关。例如,在网关出口的条件表达式中,使用了流程变量 directorAgree:网关上一任务办结时的代码...原创 2019-04-05 14:17:32 · 1779 阅读 · 0 评论 -
JBPM 7.17 学习笔记(4)流程变量和任务变量
在 HumanTask 示例中,使用了流程变量和任务变量。根据二者作用范围的不同,我们又分别把它们称之为全局变量和局部变量。流程变量将 HumanTask.bpmn 导入到 workbench 中用流程设计器查看流程图。查看流程实例变量。打开 HumanTaskExample.java,找到以下代码:// start a new process instanceMap<Str...原创 2019-03-11 11:46:20 · 1830 阅读 · 0 评论 -
JBPM 7.17 学习笔记(3)编译源代码
源代码访问项目页:https://github.com/kiegroup/jbpm,然后 Fork。在 Fork 后的 git 库上,复制 fork 后的项目地址,比如:https://github.com/kiegroup/jbpm。git clone 这个 git 地址到本地,比如:git clone https://github.com/kiegroup/jbpm。编...原创 2019-03-11 11:44:52 · 1071 阅读 · 1 评论 -
JBPM 7.17 学习笔记(2)workbench
学习 jBPM 的第一步,是学习它的 workbench。workbench 是 jBMP 的基于 web 的一系列工具集,也就是你用 ant start.demo 起起来的那个服务器。一旦启动了 workbench,你就可以用 http://localhost:8080/jbpm-console/来访问它。Workbench 主界面workbench 默认的管理员密码是 admin/adm...原创 2019-03-11 11:42:45 · 2871 阅读 · 4 评论 -
JBPM 7.17 学习笔记(1)安装
jBPM 是 jboss (被小红帽公司收购)的业务流程管理工具,后面变成了一个产品套件。著名的 Activiti 最初也起源自这个项目。jBPM 的发展不是一帆风顺的,它曾经停止更新了很长一段时间,文档也已经断片了,目前你能找到的最新文档都只到 6.x 版本的(包括 7.x 的官方文档,实际上许多内容也是过时的),因此就有本文的诞生。安装jBPM Installer 是一个工具,可以帮助你下...原创 2019-03-11 11:16:07 · 3988 阅读 · 6 评论 -
一个二级审批流程的具体实现(4)
审批/备案首先看审批流程。如果用户不是 hr,显示一个审批对话框,如果用户是 hr,则显示备案对话框。其实,无论审批还是备案,都不过是调用服务器的相应接口而已。无非是 hr 没有驳回操作而已。所以我们都用一个 approve 方法来处理:approve(task, username, agree) { let params = {}; params.username =...原创 2019-02-21 17:15:43 · 1393 阅读 · 0 评论 -
一个二级审批流程的具体实现(3)
前端的具体实现。主要有两个 vue 页面。一个登录页面(Login.vue),一个主页面(Main.vue)。主页面中包含一个表单(用于新建请假申请),一个 table(用于显示待办列表),一个 Drawer (用于重新提交被驳回的申请),一个 Modal 对话框(用户办理或审批待办事项)。1. 登录页面<template> <div> <h1 ali...原创 2019-02-21 17:12:04 · 4777 阅读 · 1 评论 -
一个二级审批流程的具体实现(2)
5. 重新提交申请用户新建请假条的流程是这样的,首先用户要在表单填写请假日期、请假天数、事由能信息,然后点击“提交”。提交按钮会立即请求服务器的 /newLeave 接口,即 @RequestMapping 所映射的 newLeave 方法。newLeave 方法会创建新的流程实例,然后找到当前待办节点,即“新的请假申请”,然后执行这个节点。而“重新提交申请”的流程不一样,它是用户提交的申请被...原创 2019-02-21 17:10:20 · 2624 阅读 · 0 评论 -
一个二级审批流程的具体实现(1)
本 demo 使用 activiti 框架实现了一个二级审批流程示例。包含前端和后端,后端用 springboot+activity 实现,前端用 vue+iview 实现。前后端是分离的。如果你只关注后端,那么你可以不实现前端,用 Postman 来测试后端即可。1. 流程图流程图的 xml:<?xml version="1.0" encoding="UTF-8"?><...原创 2019-02-21 17:08:21 · 3178 阅读 · 2 评论 -
Spring StateMachine(2) UML状态图支持
还是刚才的以二级审批请假流程为例。绘制流程首先创建 Papyrus 项目,选择 StateMachine 模板,绘制流程图如下:然后创建 6 个 signal event 和与之绑定的 signal :注意,在 Papyrus 图中,除了 State (状态) 和 Transition(迁移)之外,还有 Signal 和 Signal Event 的概念,它们对应于 StateMach...原创 2018-12-04 14:04:18 · 3063 阅读 · 1 评论 -
Spring StateMachine(1) 二级审批流程
以一个简单的二级审批流程(请假)为例,研究一下 StateMachine 的使用。该流程设计如下:目标:通过 StateMachine 实现该二级审批流程,提供 API 给第三方调用。状态定义将流程图上的 5 个状态(不包括开始和结束)定义如下:public enum States { WAITING_FOR_SUBMIT, // 等待提交 WAI...原创 2018-12-04 10:35:30 · 3613 阅读 · 3 评论 -
JBPM 7.17 学习笔记(8)业务应用
创建业务应用jBPM 支持生成 3 种类型的项目,分别是 data model、business assets、service。新建目录 business-application,执行命令:cd business-applicationmvn archetype:generate -B -DarchetypeGroupId=org.kie -DarchetypeArtifactId=k...原创 2019-04-05 14:21:52 · 1441 阅读 · 0 评论