jbpm流程实例保存

问题描述:

我是JBPM的新手。我使用jbpm4.4 这是我的基本的示例代码:jbpm流程实例保存

ProcessEngine processEngine = new Configuration() 
      .buildProcessEngine(); 
     NewDeployment deployment=processEngine.getRepositoryService().createDeployment().addResourceFromClasspath("com/pardis/jpdl/test.jpdl.xml"); 
     String deploymentId = deployment.deploy(); 
     Map<String,Object> variables = new HashMap<String,Object>(); 
     variables.put("customer", "John Doe"); 
     variables.put("type", "Accident"); 
     variables.put("amount", new Float(763.74)); 
     ProcessInstance processInstance = processEngine.getExecutionService().startProcessInstanceByKey("iran",variables,"doops"); 
processEngine.getExecutionService().signalExecutionById(processInstance.getId()); 

,这是我的流程定义:

<?xml version="1.0" encoding="UTF-8"?> 

<process key="iran" name="test" xmlns="http://jbpm.org/4.4/jpdl"> 
    <start g="388,85,48,48" name="start1"> 
     <transition g="-49,-18" name="to state1" to="state1"/> 
    </start> 
    <end g="519,310,48,48" name="end1"/> 
    <java class="test.TestAction" g="278,173,92,52" method="pr" name="java1"> 
     <arg> <object expr="#{type}"/> </arg> 
     <arg> <object expr="#{customer}"/> </arg> 
     <arg> <object expr="#{amount}"/> </arg> 
     <transition name="to state2" to="state2" g="-49,-18"/> 
    </java> 
    <state g="89,151,92,52" name="state1"> 
     <transition g="-45,-18" name="to java1" to="java1"/> 
    </state> 
    <state name="state2" g="500,205,92,52"> 
     <transition name="to end1" to="end1" g="-42,-18"/> 
    </state> 
</process> 

我有一个关于它的问题:

  1. 假设该进程的执行在某种状态下停止,我怎么能坚持执行并再次恢复?我想为多个用户运行一个进程并保留执行轨迹。

我认为JBPM文档非常差!那么你能为我提供一个有用的资源吗? 在此先感谢

我必须同意,jbpm 4.x的文档很苗条。 {我提前道歉,如果信息没有用,仍然得到它自己挂}

我花了一段时间才开始。 编辑:This博客对于入门非常有帮助。 就持久性而言,开始并不太难。 您将需要指定一个jbpm.hibernate.cgf.xml文件。

如果你在熟悉配置之前已经使用过hibernate的话。 如果没有,这是从我的测试休眠配置文件连接到MySQL DB snippit:

<property name="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</property> 
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> 
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/MySQL</property> 
<property name="hibernate.connection.username">root</property> 
<property name="hibernate.connection.password">password</property>