在指南中分别有5个例子由简单到复杂,根据测试用例从各个层面展示了jBpm的使用:
1.Hello World 例子:
主要展示了
(1)从XML String 形式中获得 ProcessDefinition
(2)构造实例化ProcessInstance
(3)获得令牌token
(4)使用signal()用法
其中,JpdlXmlReader.parse(String str)
parses a process definition from a string. replaces single quotes with double quotes before parsing the xml.
从XML中解析一个流程定义。在解析先,用双引号代码单引号。
2.数据库例子:
jbpm的一个基本特征就是:当它们在等待状态中,有能力在数据库中持久化流程的执行。
主要展示:
(1)获得JBpmSessionFactory static 对象
(2)创建数据库schema
jBpmSessionFactory.getJbmpSchema().createSchema();
(3)获得创建JbpmSession
(4)引入GraphSession。 are the graph related database operations.
(5)根据流程名获得最近的ProcessDefinition
ProcessDefinition processDefition = jbpmSession.getGraphSession.findLatestedProcessDefinition("hello world");
3.传递变量 上下文例子:
主要展示:
(1)ContextInstance 为流程实例维护所有的key-variable对。
ContexrInstance contextInstance = processInstance.getContextInstance();
(2)赋值于获得值,Map机制
contextInstance.setVariable("amout",new Integer(500));
contextInstance.getVariable("amout");
4.任务委派例子:
主要展示:
(1)ProcessInstance .getTaskMgmtInstance() 为管理任务和行为,传递实例扩展。
(2)任务实例 TaskInstance
TaskInstance taskInstance = (TaskInstance)processInstance.getTaskMgmtInstance().getTaskInstances().iterator.next();
(3)taskInstance对用有actId
5.定制行为例子:
主要展示:
(1)actions是绑定特定java代码到jBpm流程的一种机制。actions可以被用来连接它自己的节点。actions可以替代事件(转变、进入、离开一个节点)。
(2)actionHanlder 要实现ActionHandler接口。 ActionHandler接口定义了一个方法execute(ExecutionContext executionContext) 。