- 浏览: 802998 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (480)
- Spring (12)
- Hibernate (8)
- Struts2 (4)
- Java 基础-JDK-类-接口-URI-专题研究 (27)
- 线程、线程池、多线程高并发高可用、Socket通信 (15)
- Oracle数据库 (20)
- 一般-前端js-html-其它 (25)
- JYSK-互联网金融、金融科技、支付、公司、新闻等等 (8)
- Ajax-jQuery开源框架 (7)
- Json-轻量级的数据交换格式 (14)
- JavaScript (15)
- Jsp、Servlet、Servlet+JSP+JavaBean开发模式(MVC) (18)
- Html-JavaScript-前端-调用接口 (12)
- Sql Server 2005 (6)
- 正则表达式 (2)
- Java tools (18)
- 加签与验签、加密与解密 (3)
- Ajax技术核心-xmlHttpRequest(简称XHR) (6)
- xml-数据交换格式 (3)
- 信息采集 (1)
- Http - Https - HttpClient - httpCore-SSL-TLS (10)
- HtmlParser (2)
- 标签库 (1)
- SMS (2)
- jxl-导入导出 (4)
- poi-导入导出 (2)
- 定时器Timer+Quartz (6)
- 工作流引擎JBPM3.2.3 (4)
- 工作流引擎JBPM4 (0)
- 数据源-JNDI (0)
- tomcat、weblogic等应用服务器 (6)
- 工作流引擎jbpm5 (1)
- 搜索引擎Lucene (1)
- ant (1)
- 大数据-HBase (2)
- bigtable (0)
- 数据库设计 (4)
- jquery tab (0)
- mybatis (5)
- jquery ui 1.10.3 (5)
- Jboss7 (1)
- 规则引擎drools (0)
- 工作流引擎Activiti5 (0)
- 数据库-用户自定义函数 (0)
- 数据库-存储过程 (2)
- 数据库-视图 (0)
- 数据库-触发器 (0)
- 数据库-sql (2)
- highcharts-图表工具 (1)
- sql server 2008 (6)
- 诗词-工作室 (2)
- 数据割接 (1)
- GIS-地理信息系统 (2)
- RS-遥感技术 (1)
- GPS-全球定位系统 (1)
- java整合flex_RIA开发 (3)
- C#编程语言 (5)
- webservice_axis2_cxf_soap_wsdl (2)
- sql语句 (3)
- Flex_WebService_GIS (25)
- PHP编程语言 (0)
- ExtJS4.2 (1)
- Spring mvc (5)
- EasyUI1.4.2 (16)
- 日期时间工具类 (4)
- 随机数 (1)
- Arcgis api for js (0)
- Mysql数据库 (9)
- 移动互联网 java html5/flash socket netty (0)
- API接口 (1)
- AndroidStudio (0)
- Git (2)
- Maven (5)
- IDEA (0)
- 大数据-Hadoop (2)
- JPA (0)
- Spring boot (4)
- JSF (0)
- nginx_lua_module_redis (2)
- Activiti (1)
- bootstrap (1)
- AngularJS (10)
- 数据库-索引 (1)
- Linux及其连接工具SSH (4)
- java日志管理 (2)
- islider滑动控件 (1)
- jquery (1)
- 异常处理Exception (1)
- 秒杀与类秒杀系统 (1)
- 连接数据库、数据库连接池 (4)
- 数据库-临时表 (1)
- 软件设计模式-单例、多例、代理、工厂、观察者 (3)
- 集合框架 (5)
- 人工智能--Artificial intelligence、神经网络算法、机器学习 (1)
- 分布式应用 (1)
- SOA服务-Dubbo框架-Thrift框架 (2)
- Zookeeper分布式服务框架 (2)
- intellij idea (1)
- python编程语言 (0)
- 消息队列_MQ (0)
- 消息队列_RabbitMQ (2)
- 消息队列_ActiveMQ (1)
- 消息队列_Kafka (2)
- 缓存_Redis (4)
- 缓存_Memcache (0)
- 缓存_Ehcache (0)
- ivy-ivyde (1)
- google-protocol buffers (1)
- 正向代理-正向代理服务器 (1)
- 反向代理-反向代理服务器 (1)
- JVM内存模型 (0)
- Thunder框架 (1)
- NIO-非阻塞式IO (0)
- 软件测试、性能测试 (1)
- 序列化、Serializable接口、Externalizable接口 (3)
- 线程池-ExecutorService-ThreadPoolExecutor (1)
- web.xml (1)
- java开发-java工具-实用工具网站 (6)
- 医疗 (1)
- Filter-过滤器 (2)
- Unicode码-双字节字符编码 (1)
- OpenResty (1)
- 计算机网络 (1)
- eclipse_myeclipse_intellij idea (3)
- Enum (1)
- 大数据--Big Data (1)
- 云计算--Cloud computing (1)
- Elastic-Job (1)
- Redis (2)
- 文件流-IO操作 (6)
- 计算机基础知识 (1)
- Hessian-二进制RPC协议 (1)
- String类 (3)
- BigDecimal类 (1)
- java重要接口 (1)
- ReactJS (1)
- 跨域问题 (0)
- Map (1)
- 注解 (1)
- ASCII码-单字节字符编码 (1)
- 微服务、微服务架构 (2)
- RPC协议、RPC服务、RPC框架 (0)
- java反射 (1)
- java项目之classpath (1)
- 经典算法-树 (1)
- listener-监听器 (1)
- Interceptor-拦截器 (1)
- pojo javabean (2)
- 计算机科学与技术-进阶 (1)
- 代码规范与文档编写 (1)
- UML-统一建模语言 (1)
- 对接微信、支付宝 (3)
- 压力测试 (1)
- 办公软件-Excel (1)
- 办公软件-PPT (0)
- UTF8、GBK编码 (1)
- 微服务架构:Spring Cloud架构-Dubbo架构 (6)
- Nginx (1)
- 点滴业务 (1)
- form表单-json数据-转换与接口调用 (1)
- Junit单元测试 (1)
- 大数据-Spark (1)
- 大数据-Storm (1)
- 数据库事务-Spring事务 (0)
- elasticsearch (1)
- windows (1)
最新评论
一、主流程
<?xml version="1.0" encoding="UTF-8"?>
<process-definition xmlns="urn:jbpm.org:jpdl-3.2" name="sumProcessNode">
<start-state name="start-state1">
<transition to="task-node1"></transition>
</start-state>
<process-state name="process-state1">
<sub-process name="slaveNode"/>
<variable access="read" name="masterV"></variable>
<variable access="write" name="slaveV"></variable>
<transition to="task-node2"></transition>
</process-state>
<task-node name="task-node1">
<task name="masterTask1111">
<description>
11111111111111111
</description>
<assignment actor-id="masterTask1-id"></assignment>
</task>
<transition to="process-state1"></transition>
</task-node>
<task-node name="task-node2">
<task name="masterTask2222">
<description>
2222222222
</description>
<assignment actor-id="masterTask2-id"></assignment>
</task>
<transition to="end-state1"></transition>
</task-node>
<end-state name="end-state1"></end-state>
</process-definition>
*********************************************************************
二、子流程
<?xml version="1.0" encoding="UTF-8"?>
<process-definition xmlns="urn:jbpm.org:jpdl-3.2" name="slaveNode">
<start-state name="start-state1">
<transition to="task-node1"></transition>
</start-state>
<task-node name="task-node1">
<task name="sub task">
<description>
00000000000000
</description>
<assignment actor-id="slave-id"></assignment>
</task>
<transition to="end-state1"></transition>
</task-node>
<end-state name="end-state1"></end-state>
</process-definition>
三、测试
******************************
package cn.oa.jbpm.test;
import org.jbpm.JbpmConfiguration;
import org.jbpm.JbpmContext;
import org.jbpm.graph.exe.ProcessInstance;
import org.jbpm.graph.exe.Token;
public class MasterSubNodeTest {
/**
* @param args
*/
public static void main(String[] args) {
JbpmContext jbpmContext=JbpmConfiguration.getInstance().createJbpmContext();
try {
ProcessInstance pi=jbpmContext.newProcessInstance("sumProcessNode");
pi.getContextInstance().setVariable("masterV", "masterV的值");
Token token=pi.getRootToken();
token.signal();
System.out.println("****"+token.getNode().getName());
} finally {
jbpmContext.close();
}
}
}
****************
package cn.oa.jbpm.test;
import org.jbpm.JbpmConfiguration;
import org.jbpm.JbpmContext;
import org.jbpm.graph.exe.ProcessInstance;
import org.jbpm.graph.exe.Token;
import org.jbpm.taskmgmt.exe.TaskInstance;
public class MasterSubNodeTest2 {
/**
* @param args
*/
public static void main(String[] args) {
JbpmContext jbpmContext=JbpmConfiguration.getInstance().createJbpmContext();
try {
//取得主流程的任务实例
TaskInstance pi=jbpmContext.loadTaskInstance(16);
pi.getContextInstance().setVariable("masterV", "masterV的值");
/**
* 该任务实例结束,这样就有子流程产生,同时子流程会运行到子流程上的task-node1节点,产生一个子流程对应的任务实例
*
*/
pi.end();
} finally {
jbpmContext.close();
}
}
}
***********************
package cn.oa.jbpm.test;
import org.jbpm.JbpmConfiguration;
import org.jbpm.JbpmContext;
import org.jbpm.context.exe.ContextInstance;
import org.jbpm.graph.exe.ProcessInstance;
import org.jbpm.graph.exe.Token;
import org.jbpm.taskmgmt.exe.TaskInstance;
public class MasterSubNodeTest3 {
/**
* @param args
*/
public static void main(String[] args) {
JbpmContext jbpmContext=JbpmConfiguration.getInstance().createJbpmContext();
try {
//取得子流程的任务实例
TaskInstance pi=jbpmContext.loadTaskInstance(17);
ContextInstance ci=pi.getContextInstance();
//取出从主流程中 传过来的变量masterV
System.out.println("从主流程中 传过来的变量masterV:"+ci.getVariable("masterV"));
//向子流程中写入slaveV
ci.setVariable("slaveV", "子流程的变量slaveV");
/**
* 该任务实例结束,这样子流程就结束,进入主流程,主流程向下路由到主流程中的task-node2节点,产生新的任务实例
*
*/
pi.end();
} finally {
jbpmContext.close();
}
}
}
*****************************
package cn.oa.jbpm.test;
import org.jbpm.JbpmConfiguration;
import org.jbpm.JbpmContext;
import org.jbpm.context.exe.ContextInstance;
import org.jbpm.graph.exe.ProcessInstance;
import org.jbpm.graph.exe.Token;
import org.jbpm.taskmgmt.exe.TaskInstance;
public class MasterSubNodeTest4 {
/**
* @param args
*/
public static void main(String[] args) {
JbpmContext jbpmContext=JbpmConfiguration.getInstance().createJbpmContext();
try {
//取得主流程的任务实例
TaskInstance pi=jbpmContext.loadTaskInstance(18);
ContextInstance ci=pi.getContextInstance();
//取出从子流程中 传过来的变量masterV
System.out.println("从子流程中 传回来的变量slaveV:"+ci.getVariable("slaveV"));
//该任务实例结束,这样整个流程就结束
pi.end();
} finally {
jbpmContext.close();
}
}
}
<?xml version="1.0" encoding="UTF-8"?>
<process-definition xmlns="urn:jbpm.org:jpdl-3.2" name="sumProcessNode">
<start-state name="start-state1">
<transition to="task-node1"></transition>
</start-state>
<process-state name="process-state1">
<sub-process name="slaveNode"/>
<variable access="read" name="masterV"></variable>
<variable access="write" name="slaveV"></variable>
<transition to="task-node2"></transition>
</process-state>
<task-node name="task-node1">
<task name="masterTask1111">
<description>
11111111111111111
</description>
<assignment actor-id="masterTask1-id"></assignment>
</task>
<transition to="process-state1"></transition>
</task-node>
<task-node name="task-node2">
<task name="masterTask2222">
<description>
2222222222
</description>
<assignment actor-id="masterTask2-id"></assignment>
</task>
<transition to="end-state1"></transition>
</task-node>
<end-state name="end-state1"></end-state>
</process-definition>
*********************************************************************
二、子流程
<?xml version="1.0" encoding="UTF-8"?>
<process-definition xmlns="urn:jbpm.org:jpdl-3.2" name="slaveNode">
<start-state name="start-state1">
<transition to="task-node1"></transition>
</start-state>
<task-node name="task-node1">
<task name="sub task">
<description>
00000000000000
</description>
<assignment actor-id="slave-id"></assignment>
</task>
<transition to="end-state1"></transition>
</task-node>
<end-state name="end-state1"></end-state>
</process-definition>
三、测试
******************************
package cn.oa.jbpm.test;
import org.jbpm.JbpmConfiguration;
import org.jbpm.JbpmContext;
import org.jbpm.graph.exe.ProcessInstance;
import org.jbpm.graph.exe.Token;
public class MasterSubNodeTest {
/**
* @param args
*/
public static void main(String[] args) {
JbpmContext jbpmContext=JbpmConfiguration.getInstance().createJbpmContext();
try {
ProcessInstance pi=jbpmContext.newProcessInstance("sumProcessNode");
pi.getContextInstance().setVariable("masterV", "masterV的值");
Token token=pi.getRootToken();
token.signal();
System.out.println("****"+token.getNode().getName());
} finally {
jbpmContext.close();
}
}
}
****************
package cn.oa.jbpm.test;
import org.jbpm.JbpmConfiguration;
import org.jbpm.JbpmContext;
import org.jbpm.graph.exe.ProcessInstance;
import org.jbpm.graph.exe.Token;
import org.jbpm.taskmgmt.exe.TaskInstance;
public class MasterSubNodeTest2 {
/**
* @param args
*/
public static void main(String[] args) {
JbpmContext jbpmContext=JbpmConfiguration.getInstance().createJbpmContext();
try {
//取得主流程的任务实例
TaskInstance pi=jbpmContext.loadTaskInstance(16);
pi.getContextInstance().setVariable("masterV", "masterV的值");
/**
* 该任务实例结束,这样就有子流程产生,同时子流程会运行到子流程上的task-node1节点,产生一个子流程对应的任务实例
*
*/
pi.end();
} finally {
jbpmContext.close();
}
}
}
***********************
package cn.oa.jbpm.test;
import org.jbpm.JbpmConfiguration;
import org.jbpm.JbpmContext;
import org.jbpm.context.exe.ContextInstance;
import org.jbpm.graph.exe.ProcessInstance;
import org.jbpm.graph.exe.Token;
import org.jbpm.taskmgmt.exe.TaskInstance;
public class MasterSubNodeTest3 {
/**
* @param args
*/
public static void main(String[] args) {
JbpmContext jbpmContext=JbpmConfiguration.getInstance().createJbpmContext();
try {
//取得子流程的任务实例
TaskInstance pi=jbpmContext.loadTaskInstance(17);
ContextInstance ci=pi.getContextInstance();
//取出从主流程中 传过来的变量masterV
System.out.println("从主流程中 传过来的变量masterV:"+ci.getVariable("masterV"));
//向子流程中写入slaveV
ci.setVariable("slaveV", "子流程的变量slaveV");
/**
* 该任务实例结束,这样子流程就结束,进入主流程,主流程向下路由到主流程中的task-node2节点,产生新的任务实例
*
*/
pi.end();
} finally {
jbpmContext.close();
}
}
}
*****************************
package cn.oa.jbpm.test;
import org.jbpm.JbpmConfiguration;
import org.jbpm.JbpmContext;
import org.jbpm.context.exe.ContextInstance;
import org.jbpm.graph.exe.ProcessInstance;
import org.jbpm.graph.exe.Token;
import org.jbpm.taskmgmt.exe.TaskInstance;
public class MasterSubNodeTest4 {
/**
* @param args
*/
public static void main(String[] args) {
JbpmContext jbpmContext=JbpmConfiguration.getInstance().createJbpmContext();
try {
//取得主流程的任务实例
TaskInstance pi=jbpmContext.loadTaskInstance(18);
ContextInstance ci=pi.getContextInstance();
//取出从子流程中 传过来的变量masterV
System.out.println("从子流程中 传回来的变量slaveV:"+ci.getVariable("slaveV"));
//该任务实例结束,这样整个流程就结束
pi.end();
} finally {
jbpmContext.close();
}
}
}
相关推荐
在主流程中引用子流程时,只需在主流程图中添加一个子流程节点,并将其与子流程文件关联。通过这种方式,主流程可以在运行时调用子流程实例,执行相应的业务逻辑。在FixFlow中,可以通过设置子流程节点的属性,如...
在每个子流程的开始,我们会设置一个流程变量TaskInstanceID,值为主流程中对应的Task实例ID。 子流程执行完毕后,会读取这个流程变量TaskInstanceID,找到创建它的主流程任务实例,并结束该任务实例。由于我们设置...
在需求及目标定义阶段,需要对客户需求、发展趋势和标杆车型进行分析,制定新车型的整车需求,定义各个子系统的需求,包括电子电器系统。然后,制定验证整车需求是否被实现的测试规范与方法。 在系统/架构设计阶段...
在电子商业汇票的操作流程中,存在多个参与方,包括出票人、付款人、持票人和银行等。每个参与方都需要遵守相关的业务流程和操作规范,以确保电子商业汇票的安全和可靠性。 电子商业汇票的出票业务流程及操作流程...
外部子流程的概念是指在一个主流程中调用另一个独立的流程实例。这种设计模式常用于处理业务流程中的并行任务或者将特定的流程步骤委托给专门的系统或服务。例如,在"callActivitiTest.bpmn"中,可能包含了一个调用...
ITR流程题库则是ITR流程管理系统中的一部分,包含了关于ITR流程的知识点和题目。 从部分内容中,我们可以看到ITR流程题库涵盖了ITR流程的各个方面,包括事故处理、服务请求受理、技术服务请求处理、产品可服务性等...
在电子万年历的流程图中,我们可以看到从初始化、时间获取、处理、显示到异常处理等各个阶段的逻辑流程。 6. **原理图**:原理图则展示了电路的整体布局和各个组件之间的连接关系。在电子万年历的原理图中,可以...
- 对于严重影响客户体验的重大投诉,有专门的流程进行处理,包括快速受理、深入调查和升级处理,直至问题解决并关闭。 ITR流程架构的层级结构清晰,从L1的总体流程到L3的具体操作步骤,确保了服务请求从接收、处理...
流程节点是流程配置的核心部分,管理员可以在流程管理系统中,添加不同的流程节点,例如审批节点、签字节点、抄送节点、人工决策节点、条件分支节点、机器人节点、启动子流程节点、回收子流程节点、并行分支节点等。...
否是产品研发副经理组织重新进行软件需求分析软件系统需求分析子流程。 5. 版本管理员进行软件配置管理对软件子系统的所有开发文档进行受控版本库。 6. 软件子系统评审报告05-04-06产品经理审核软件子系统评审报告。...
本流程图展示了商品信息后台管理系统中商品信息的处理流程,包括系统登录验证、商品信息处理、决策处理、流程控制和用户交互等方面。 在该流程图的基础上,我们可以更好地理解商品信息后台管理系统的工作机理,并对...
功能流程图(Function Flow Diagram)指单页面内或多页面之间的功能操作流程,其包含在页面流程中。任何功能都是被包含在页面内的,但一个页面内往往不止一个功能,所以单单页面流程图可能无法完整表达所有流程,而...
按键流程图是一个非常重要的概念在计算机科学和自动化控制领域中,它描述了按键的输入过程和相应的控制流程。下面我们将对按键流程图的知识点进行详细的分析和解释。 一、按键流程图的定义 按键流程图是指在计算机...
根据提供的文件信息,我们可以深入解析并提取出与“jdpm4子流程范例”相关的IT知识点,主要包括子流程的设计、实现及其在Java编程环境中的应用。 ### 一、子流程设计概念 #### 1. 子流程定义 子流程是业务流程管理...
- 在整个流程中,一旦遇到错误,就会有专门的错误处理逻辑来确保系统的稳定性和可靠性。例如,在TCP子进程初始化失败的情况下,程序会尝试恢复到正常状态。 #### 三、总结 通过对`OpenSIPS`源代码的主流程分析,...
网上书店作为一种便捷的购书方式,其运营过程中的基本流程是确保用户体验的关键因素之一。通过绘制流程图来展示这一流程,有助于我们更好地理解整个购书过程中的各个环节。 #### 二、基本流程图详解 ##### 2.1 ...
主流程有时会派生出子流程,这些子流程通常是主流程的特殊情况或异常处理流程,它们同样需要详细记录和设计。 七、详细业务规则 业务规则是流程运行的指导原则,应详细列出并指定负责制定和监督执行的责任人或部门...
- **责任驱动**:流程中的每个角色都有清晰的责任和权限,不论职位高低,均需按照流程规定行动,以确保流程的优质高效运行。 - **流程改进**:华为不断适应市场变化,适时调整优化原有流程,以满足公司发展需求。 ...
5. **子流程**:子流程是指在主流程中嵌套的独立流程,它们可以复用已有的流程片段,简化流程设计,并提高代码的可维护性。子流程可以包含一个或多个上述的节点类型。 除了节点类型,流程引擎还涉及数据库配置。这...
总的来说,Android Input子系统的事件分发流程涉及了从硬件驱动到应用程序的多个层级,包括InputDispatcher、InputManagerService、InputChannel、ViewRootImpl以及View层次结构。理解这一流程对于优化用户交互和...