自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 资源 (2)
  • 收藏
  • 关注

原创 实现java代码加密,jar\war加密

Springboot 项目代码加密,对你的代码进行加密,市面工具无法实现反编译。加密 Class 文件中每个方法的 Java 字节码,运行时在 JVM实现动态解密。

2023-07-01 12:50:17 4697

原创 activiti源码解析系列9 - 完成特别子流程命令类

特别子流程如何完成呢?通过runtimeService.completeAdhocSubProcess(String executionId)主要看命令类CompleteAdhocSubProcessCmd:看代码:public Void execute(CommandContext commandContext) { ExecutionEntityManager executionEntityManager = commandContext.getExecutionEntity.

2022-04-19 21:26:12 881

原创 activiti源码解析系列8 - 任务完成命令类

我们在完成任务的时候都执行了哪些操作呢?主要涉及删除表(默认非级联):ACT_RU_TASKACT_RU_IDENTITYLINKACT_RU_VARIABLE主要看一个CompleteTaskCmd:protected Void execute(CommandContext commandContext, TaskEntity task) { // Backwards compatibility if (task.getProcessDefinitionId()

2022-04-18 20:52:07 1501

原创 activiti源码解析系列7 - 启动流程实例命令类源码解析

启动流程实例涉及到的表有:1、创建流程实例类型的执行实例入库ACT_RU_EXECUTION;2、启动人入库ACT_RU_IDENTITYLINK starter类型;3、历史启动实例记录(入库ACT_HI_PROCINST表)4、dataObjects kv变量设置到流程实例变量map里 (存db(ACT_HI_VARINST历史变量实例表)或者更新缓存)5、设置变量入库(入库ACT_RU_VARIABLE\(审计记录:入库ACT_HI_VARINST表)6、针对事件子流程:ACT_RU_

2022-04-18 20:46:38 1974

原创 activiti源码解析系列6 - bpmn部署器BpmnDeployer源码解析

流程的部署主要通过DeployCmd类进行:查看部分核心代码:public Deployment execute(CommandContext commandContext) { // Backwards compatibility with Activiti v5 //activiti5兼容开启 if (commandContext.getProcessEngineConfiguration().isActiviti5CompatibilityEnabled()

2022-04-16 20:24:47 1401

原创 activiti源码解析系列5 - 流程文件的部署

我们的bpmn xml文件是如何通过引擎进行部署的呢?文章概要: 1.bpmnParser解析器与解析处理器的初始化(关联bpmnParse工厂(核心)) 2.deploymentManager部署管理器的初始化与bpmnParser解析器的关联 3.仓库服务进行部署的调用(通过deploymentManager)1、bpmn解析器及解析处理器的初始化我们首先看ProcessEngineConfigurationImpl的init方法里initBpmnParser()方法:

2022-04-16 17:03:05 1729

原创 activiti源码解析系列4 - 包含网关行为类InclusiveGatewayActivityBehavior源码解析

看该类源码:public class InclusiveGatewayActivityBehavior extends GatewayActivityBehavior implements InactiveActivityBehavior { private static final long serialVersionUID = 1L; private static Logger logger = LoggerFactory.getLogger(InclusiveGatewayActivit

2022-04-14 21:44:40 1054

原创 activiti源码解析系列3 - 命令拦截器责任链

通过initCommandExecutor()构建的命令执行器CommandExecutorImpl,在该类里进行了命令责任链的first及后续调用执行。在基本activiti提供的所有service方法接口里就是通过命令传入该命令执行器进行后续的执行和调用。

2022-04-14 21:41:56 656

原创 activiti源码解析系列2 - 引擎作业处理器源码分析

主要涉及类:一系列JobHandler用于job的处理、JobManager用于job的入库调度激活挂起等操作、asyncExecutor用于job的异步执行(通过线程池实现、和3个死循环的线程用于扫描job表操作调度job)首先查看引擎配置初始化类ProcessEngineConfigurationImpl的init方法:

2022-04-14 21:30:03 1565

原创 activiti源码解析系列1 - 引擎计划ActivitiEngineAgenda

activiti之引擎计划ActivitiEngineAgenda我们知道activti6基本是基于责任链和命令模式实现,但底层是如何进行命令的执行和流程的驱动流转的呢?

2022-04-14 21:14:50 1584

原创 activiti入门系列文章14 - 集成规则引擎drools

activiti入门系列文章14 - 集成规则引擎drools

2022-04-14 21:10:10 1259

原创 activiti入门系列文章12 - 设计模式

activiti之设计模式

2022-04-14 20:38:53 535

原创 activiti入门系列文章11 - 用户集成

activiti之用户集成

2022-04-14 20:34:30 921

原创 activiti入门系列文章10 - 自动跳过第一个节点

在Activiti流程设计中,为了使流程展示的更加完善,经常会将流程图的第一步任务设计成“提交任务”,例如:申请人启动流程后,流程就会到达“提交任务”,而“提交任务”的办理人还是该申请人,这个时候就需要通过代码跳过(自动处理)该任务节点,让流程流转到下一任务节点。有三种方法可以处理这个问题。第一种方式:在启动流程后,获取当前流程实例申请人的待办任务,并执行当前流程实例的下一步任务Task task = null;TaskQuery query = taskService.createT.

2022-04-09 20:00:00 2503 1

原创 activiti入门系列文章9 - 委派与转办

委派与转办1、委派委派:是将任务节点分给其他人处理,等其他人处理好之后,委派任务会自动回到委派人的任务中将hr的任务进行委派:taskService.delegateTask(taskId, userId);// taskId 任务id; userId:被委派人id被委派人办理任务后:taskService.resolveTask(taskId,variables);正在运行的任务表中被委派人办理任务后hr的任务会回到委派人xxhr ,历史任务表中也一样,只...

2022-04-08 20:00:00 3231

原创 activiti入门系列文章8 - 相关表与操作说明

Activiti数据库表

2022-04-07 20:00:00 2304 1

原创 activiti入门系列文章7 - 中国流程任意跳转

工作流引擎之activiti6流程节点自由跳转实现在中国式的流程需求中,诸如驳回,退回功能需要进行流程跳转,比如领导审批不通过,退回到申请人。这种中国式的流程需求,可以通过以下三种方式实现1、通过流程图设计,新增一条驳回连接线,并在连接中配置一些条件进行跳转。通常业务口更希望不需要再额外添加连接线就能实现跳转。2、动态修改流程定义环节的连线,然后执行跳转,完成后再恢复流程定义。 这种方法可以实现动态跳转,不需要修改Activiti自身执行,但是会动态修改系统中的流程定义缓存对象。理论上这会出现一

2022-04-06 20:00:00 1324

原创 activiti入门系列文章6 - Process流程配置

Process标签配置通过源码查看该类有哪些属性:public class Process extends BaseElement implements FlowElementsContainer, HasExecutionListeners { protected String name; //可执行 protected boolean executable = true; protected String documentation; protected IOSpecifi

2022-04-05 20:00:00 800

原创 activti入门系列文章3 - SequenceFlow连线元素

SequenceFlow属性:skip expression 跳过表达式 。到当前任务时自动跳过任务condition可设置表达式决定走哪个分支前提:给第一个需要跳过的任务中也添加一个ExecutionListenerimport com.edu.hart.modules.constant.ActivitiConstanct;import org.activiti.engine.delegate.DelegateExecution;import org.activiti.en.

2022-04-04 20:00:00 593

原创 activti入门系列文章2 - 网关元素

activiti网关

2022-04-03 20:00:00 606

原创 activiti入门系列文章1 - 任务元素

任务是activiti三大元素之一,主要有UserTask 人工任务ScriptTask 服务任务ServiceTaskMailTaskManualTaskReceiveTaskBusinessRuleTaskCallActivity其中,UserTask用户任务最为常用。1.用户任务 UserTask看代码:public class UserTask extends Task { /** * 被分配到任务的人 * (受理人):task任务的

2022-04-02 20:00:00 1455

原创 activti入门系列文章5 - 监听器

开始结束事件为ExecutionListener(event=start,end)任务事件可以为TaskListener(event=create,assignment,complete,all)或ExecutionListener(event=start,end)监听器类型:create: 任务创建且所有任务属性设置完全之后触发。assignment: 任务分配给某个班里人之后触发,并在create之后。complete: 任务完成时触发,在运行时任务数据被删除之前触发(act_ru_

2022-04-01 20:00:00 1326

原创 actviti入门系列文章4 - 事件元素

activiti中主要有开始启动事件StartEvent,结束事件EndEvent开始事件用于一个流程的开始节点开始启动事件的四种类型:1.空启动事件 2.定时启动事件 3.消息、信号启动事件 4.异常启动事件StartEventTimerStartEventMessageStartEventSignalStartEvent一、StartEvent面板介绍1.General面板Asynchronous : 是否异步(默认否)表示是否能被异步执行。Excl.

2022-03-31 20:00:00 667

原创 Solr的环境的搭建

Solr环境的搭建1)下载solr4.7.0.zip2) 解压solr-4.7.0.zip[root@SnsRedhat2Yangpeng soft]# unzip solr-4.7.0.zip3) 将solr-4.7.0/dist/solr-4.7.0.war拷贝到tomcat的webapps下,并改名solr.war

2017-02-05 20:09:53 200

原创 Solr简介

Solr 是什么?      Solr它是一种开放源码的、基于 Lucene Java 的搜索服务器,易于加入到 Web 应用程序中。Solr 提供了层面搜索(就是统计)、命中醒目显示并且支持多种输出格式(包括XML/XSLT 和JSON等格式)。它易于安装和配置,而且附带了一个基于HTTP 的管理界面。可以使用 Solr 的表现优异的基本搜索功能,也可以对它进行扩展从而满足企业的需要。 

2017-02-04 21:04:58 239

原创 各种设计模式分类特点

创建型:工厂模式,抽象工厂模式,单例模式,创建者模式,原型模式

2014-08-31 11:00:02 1037

转载 装饰模式与代理模式的区别(转载)

学习AOP时,教材上面都说使用的是动态代理,可是在印象中代理模式一直都是控制访问什么的,怎么又动态增加行为了,动态增加行为不是装饰器模式吗?于是 找了很多资料,想弄清楚这两者之间到底有什么区别。结果发现这一篇英文文章讲的很清晰,就翻译一下,供参考。

2014-08-31 00:14:33 455

原创 栈、堆、方法区、常量池、内存回收

常量池常量池是一种享元模式设计的应用。有以下两种常量池:基本数据类型包装类常量池:Byte 、Short 、Integer 、Long、Character当这些包装类的对象的值在 -128至127 范围内时使用字符串常量池:一般字符串都存储在这个区域中

2014-08-06 17:29:05 642

转载 jBPM4.4:如何图示化显示当前的流程执行到了哪一步骤

流程执行时,有时候需要看一下当前的工作卡在哪一步了,对于熟悉流程的人员来说,看到节点的名字即可。对于不熟悉的人员来讲,就需要把整个流程图显示出来,把当前的工作点标注出来。 在生成工作流程xml文件的时候,已经生成了一个工作流程的png流程图,只需要在这个png上把当前活跃的节点表示出来即可。网上的一种做法很简单,就是在这个png上再加一个div层,把执行的活跃节点框起来就可以了。 

2014-07-29 18:15:17 624

转载 jBPM4.4:在看开发指南之前总结一下

jBPM4.4: 源头是Configuration,从Configuration生成引擎:ProcessEngine; ProcessEngine可以得到以下几个Service: RepositoryServiceExecutionServiceTaskServiceHistoryServiceManagementService这几个Service都是对外提供的服务

2014-07-29 17:11:15 448

转载 从JBPM4以后的走向

从JBPM4以后, 原来jBPM的设计师Tom Baeyens改投了Alfresco,开始一个新的BPM项目Activiti;其核心是超快速,稳定的BPMN 2.0流程引擎。它易于与Spring集成使用。 Activiti从jBPM4发展来,从jBPM4学习Activiti的成本小,反而jBPM5和原来的jBPM基本没任何关系,好像是另一套系统。Activiti的Maven

2014-07-29 17:04:04 458

转载 JBPM4 常用表结构

JBPM4 常用表结构第一部分:表结构说明Jbpm4 共有18张表,如下,其中红色的表为经常使用的表 一:资源库与运行时表结构1.  JBPM4_DEPLOYMENT 流程定义表2.  JBPM4_DEPLOYPROP 流程定义属性表3.  JBPM4_EXECUTION  流程实例表4.  JBPM4_PROPERTY  流程引擎表 5.  JBPM4_T

2014-07-28 17:39:55 544

翻译 MyEclipse10 安装JBPM5.4插件最简单方法

下载JBPM5.4,解压,找到   jbpm-5.4.0.Final-installer-full\jbpm-installer\lib\org.drools.updatesite-5.5.0.Final-assembly将\plugins中的所有jar包拷贝到MyEclipse安装目录下的dropins文件夹中,重启MyEclipse即可

2014-07-27 16:20:47 415

转载 Tomcat域名或IP地址访问方式配置方法

1、配置www.***.com域名方式访问在Tomcat下面配置域名(如:www.***.com)的时候,同时又不希望客户通过我们网站的IP或者域名访问到Tomcat默认的ROOT,配制方法如下:  1、打开Tomcat安装目录下的/conf/server.xml文件  2、在server.xml中将原有的修改为  3、在/conf/Catalina目录下建立目录“”,然后建立RO

2014-07-26 21:57:12 476

mybatis第一天课堂笔记.docx

课程安排: mybatis和springmvc通过订单商品 案例驱动 第一天:基础知识(重点,内容量多) 对原生态jdbc程序(单独使用jdbc开发)问题总结 mybatis框架原理 (掌握) mybatis入门程序 用户的增、删、改、查 mybatis开发dao两种方法: 原始dao开发方法(程序需要编写dao接口和dao实现类)(掌握) mybaits的mapper接口(相当于dao接口)代理开发方法(掌握) mybatis配置文件SqlMapConfig

2015-09-12

传智播客springmvc第一天课堂笔记

传智播客springmvc第一天课堂笔记

2015-09-12

空空如也

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

TA关注的人

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