JBPM4_PVM源代码分析.doc
### JBPM4_PVM源代码分析 #### 一、概览 JBPM4_PVM(Process Virtual Machine)是JBPM框架中的一个核心组件,用于处理流程执行的核心逻辑。本文档将详细解析JBPM4_PVM的源代码结构,重点介绍其中的关键类及其功能。 #### 二、org.jbpm.pvm.internal.ant包 该包提供了与Ant集成的功能,用于发布流程定义并辅助启动JBoss应用服务器。 ##### 1. AntHelper.java - **getProcessEngine()**:获取当前的流程引擎实例。 ##### 2. JbpmDeployTask.java - **execute()**:执行部署任务。 - **deployFile(String fileName)**:部署指定文件。 - **addFileset(FileSet fileSet)**:添加文件集到部署任务中。 ##### 3. Launcher.java - **描述**:发布者,负责流程定义的发布工作。 ##### 4. StartJBossTask.java - **描述**:开始JBoss任务,用于启动JBoss应用服务器。 #### 三、org.jbpm.pvm.internal.builder包 此包包含了一系列构建器,用于构造流程定义中的各种元素,如活动(Activity)、事件(Event)等。 ##### 1. ActivityBehaviourBuilder.java - **描述**:用于构建活动的行为(Activity Behaviour)。 ##### 2. ActivityBuilder.java - **Initial()**:初始化活动。 - **setProcessDefinitionInitial()**:设置流程定义为初始状态。 - **startBehaviour()**:启动活动的行为。 - **endActivity()**:结束活动。 - **startFlow()**:启动流程。 - **endProcess()**:结束整个流程。 - **Transition()**:定义活动间的过渡。 - **asyncExecute()**:异步执行活动。 - **addUnresolvedFlow(UnresolvedFlow unresolvedFlow)**:添加未解决的流程元素。 ##### 3. CompositeBuilder.java - **createActivity()**:创建活动。 - **createEvent()**:创建事件。 - **Variable()**:创建流程变量。 - **startTimer()**:启动定时器。 - **startVariable()**:启动流程变量。 - **startActivity()**:启动活动。 - **startEvent()**:启动事件。 - **startExceptionHandler()**:启动异常处理程序。 - **endActivity()**:结束活动。 ##### 4. CompositeExceptionHandlerBuilder.java - **Listener()**:注册监听器。 - **endExceptionHandler()**:结束异常处理程序。 ##### 5. EventBuilder.java - **Listener()**:注册监听器。 - **startExceptionHandler()**:启动异常处理程序。 - **endEvent()**:结束事件。 ##### 6. EventExceptionHandlerBuilder.java - **Listener()**:注册监听器。 - **endExceptionHandler()**:结束异常处理程序。 ##### 7. ExceptionHandlerBuilder.java - **描述**:`CompositeExceptionHandlerBuilder.java`和`EventExceptionHandlerBuilder.java`继承自该类,提供基本的异常处理机制。 ##### 8. FlowBuilder.java - **endFlow()**:结束流程。 ##### 9. ObservableBuilder.java - **描述**:作为`FlowBuilder.java`、`EventBuilder.java`以及`TimerBuilder.java`的基类,提供观察者模式的支持。 ##### 10. ProcessDefinitionBuilder.java - **startProcess()**:启动流程。 - **endProcess()**:结束流程。 - **resolveFlows()**:解析流程元素之间的关系。 ##### 11. TimerBuilder.java - **dueDate()**:设置定时器到期的时间。 - **Repeat()**:设置定时器重复执行的规则。 - **Retries()**:设置重试次数。 - **Signal()**:发送信号触发定时器。 - **Decision()**:设置定时器触发后的决策。 - **endTimer()**:结束定时器。 ##### 12. UnresolvedFlow.java - **描述**:表示在流程定义阶段尚未完全解析的流程元素。 ##### 13. VariableBuilder.java - **initialValue()**:设置变量的初始值。 - **initialExpression()**:设置变量的初始表达式。 - **endVariable()**:结束变量定义。 #### 四、org.jbpm.pvm.internal.cal包 此包提供了与日期和时间相关的功能,支持业务日历的定义。 ##### 1. BusinessCalendar.java - **getInstance()**:获取业务日历实例。 - **findStartOfNextDay()**:查找下一个工作日的开始时间。 - **createCalendar()**:创建新的业务日历。 - **findDay(Date date)**:根据日期查找对应的工作日。 - **findDayPart(Date date)**:根据日期查找对应的工作时间段。 ##### 2. Day.java - **findNextDayPartStart()**:查找下一个时间段的开始时间。 ##### 3. DayPart.java - **isStartAfter(Date startTime)**:判断是否在指定时间之后开始。 - **getStartTime()**:获取时间段的开始时间。 通过以上分析可以看出,JBPM4_PVM的源代码设计了丰富的类层次结构,每个类都有明确的职责和功能,这不仅有助于开发者更好地理解和维护代码,也为后续的扩展和定制提供了良好的基础。
剩余24页未读,继续阅读
- xuesong002012-09-05还行,挺好用的
- wfnic42013-09-07挺有用的资料,对于了解JBPM内部架构很有帮助
- Java小虎2012-12-25挺有用的 资料,对于了解JBPM内部架构很有应用!
- 丫咪2014-06-16还行,暂时用不了。先放着
- 粉丝: 13
- 资源: 70
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助