当前位置: 代码迷 >> JBoss >> JBPM没有任务结束却没有持久化到数据库中解决方法
  详细解决方案

JBPM没有任务结束却没有持久化到数据库中解决方法

热度:8159   发布时间:2013-02-26 00:00:00.0
JBPM没有任务结束却没有持久化到数据库中
我的流程定义: 

引用

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

<process-definition xmlns="urn:jbpm.org:jpdl-3.2" name="purchase"> 


<start-state name="流程开始"> 
<transition to="部门经理审批" name="提交审批"></transition> 
</start-state> 
<task-node name="部门经理审批"> 
<task name="审批部门人员采购申请"> 
  <assignment config-type="bean" class="org.springmodules.workflow.jbpm31.JbpmHandlerProxy"> 
<targetBean>purchaseApplyAssignment</targetBean> 
<factoryKey>jbpmConfiguration</factoryKey> 
</assignment> 
</task> 
<transition to="内审部门审批" name="部门审批通过"> 
<action> 
<action name="Task_ManagerApproved" class="com.blt.myoa.workflow.action.ManagerApprovedActionHandler"></action> 
</action> 
</transition> 
<transition to="流程结束" name="部门审批驳回"></transition> 
  </task-node> 

<task-node name="内审部门审批"> 
<transition to="流程结束"></transition> 
</task-node> 
<end-state name="流程结束"></end-state> 

</process-definition> 


以下是java方法 

引用

public void departmentAudit(final String taskId,final String result){ 
final Long tid = Long.parseLong(taskId); 
jbpmTemplate.execute(new JbpmCallback(){ 

public Object doInJbpm(JbpmContext context) throws JbpmException { 
TaskInstance instance = context.getTaskInstance(tid); 
System.out.println("----------------"+instance.getName()); 
if("ok".equals(result)) 

instance.end("部门审批通过"); 


if("no".equals(result)) 

instance.end("部门审批驳回"); 

return null; 


}); 



为啥我使用instance.end 流程没有继续往下走呐?而我在jbpm-console里可以操纵流程正常的往下,结束。 
有可能哪儿出了问题了呐? 
还有:我使用了spring


------解决方案--------------------------------------------------------
两个if都没进去。检查一下传来的result参数,
  相关解决方案