传智播客java学习 jbpm进阶
我今天学习了jbpm的知识:我做了简单的摘要:
流程图中的各种节点的作用及用法:
需要有不同类型(作用)的节点,才能设计出复杂的流程图。Jbpm有一套预先定义好的节点类型。如果不够用,也可以使用自定义节点进行扩展,以完成不同的流程的需要。不同的节点类型代表不同的行为。
每个流程都必须要有开始节点和结束节点。
预定义节点:
start-state,开始节点:标识流程开始、
end-state,结束节点:标识流程结束、
task-node,任务节点:可以放0个或多个任务、
decision,决策节点 :路径选择,只使用一个流转(叉路口)、
fork/join,分支节点/合并节点:可以分为多个并行执行的分支、
state,状态节点:等待。
还有mail-node、process-state、super-state等
每个节点都对应一个类(Jbpm的持久化类),都是org.jbpm.graph.def.Node的子类。节点都有名字、流转(end-state除外)。
start-state 节点:
开始节点:标识流程开始边界。开始状态有且只有一个,就是说流程中不能有任何transition指向开始节点。
创建新的流程实例后,就有一个对应的Token(RootToken,根令牌)指向start-state。并且处于等待状态,需要给Token发信号(signal)才能使流程继续执行。
signal属性:
task-node的signal属性:指定完成任务实例对执行流程的影响(发信号)。
(指定哪个任务实例完成后会发信号离开节点
属性可取的值:
last:默认值,当最后一个实例被完成时候发信号。当在这个入口没有任务被生成时候,流程继续执行(发信号)
first:当第一个实例被完成时候发信号。当在这个入口没有任务被生成时候,执行继续.
never:不管任务实例是否完成,都不发信号。
nsynchronized:进入节点后就发信号,不管任务是否没建立或有没有完成。就是说任务的执行和流程执行互不影响。
last-wait:当进入节点时没有任务实例被创建时,就会一直处于等待状态,直到任务实例被创建;创建任务实例后,就是当所有的实例都执行完成后发信号(和last一样了)。
进后节点后
If( taskInstance的数量 = 0 ){
Wait,直到创建任务实例
}
Signal = “last” first-wait: 和last-wait一样理解。
decision 节点:
决策节点:用于计算流向。在decision中使用DecisionHandler。或使用一个表达式,也是返回要使用的transition的n
相关文档:
1、 public class HelloWorld {
public static void main(String args[]){
String s="daxiong";
System.out.println("Hello,World!"+"lu shenglong"+s);
char c[]={'s','w','q'};
&nb ......
使用J2SE API读取Properties文件的六种方法
1。使用java.util.Properties类的load()方法
示例: InputStream in = lnew BufferedInputStream(new FileInputStream(name));
Properties p = new Properties();
p.load(in);
2。使用java.util.ResourceBundle类的getBundle()方法
示例: ResourceBundle rb = Resou ......
public static void main(string[] args)
{
int[] arrayInt=new int[] {1,2,3,4,5}
ArrayList alist =ArrayList();
//方法一
foreach(int i in alist)
{
&nbs ......
/**
* ### 真難的題目: 狗屁演算法 (測資很機車)
* 測驗結果: x.xx0 ms
* 測驗日期: 200y-mm-dd
* @author Raymond Wu (小璋丸)
*/
public class Main {
// 輸入緩衝區 (緩衝空 ......
今天我学习了徐老师讲的Hiberbate缓存知识,我上课做了简单的笔记:
缓存类型
一.事务范围:位于当前工作单元,不能并发访问
二.进程范围:多个工作单元共享,可并发访问,可存储实例本身也可存散列数据,然后在
& ......