这2天对Jbpm 3.2.2中decision写代码,发现一个很奇怪的问题:
<decision name="decide">
<transition name="newTaskPhase" to="allotNewTask">
<condition expression="#{totalStep le oaTaskPhase.phasenum}"/>
</transition>
<transition name="taskEnd" to="end">
<condition expression="#{totalStep eq oaTaskPhase.phasenum}"/>
</transition>
</decision>
这样的流程定义再3.2.2发布的时候,在数据库表JBPM_DECISIONCONDITIONS中没有数据
。但同样的xml定义发布到3.1的数据库的时候JBPM_DECISIONCONDITIONS却有数据,
我将ProcessDefinition这个类断点查看了一下,发现里面都有数据的,但是在GraphSession类的deployProcessDefinition方法中session.save(processDefinition);缺怎么都不能往数据库里面写数据。
不知道是不是一个BUG?请知道的朋友指点下。
我的Hibernate的Version: 3.2.6.ga,不知道这问题是不是由于Hibernate版本高导致的。但是只有这个Hibernate以上的版本才能触发时间事件。
后来我为了实现同样的功能,将定义改成了
<decision name="decideWhatToDo">
<handler class="com.pujin.oa.workflow.allotTask.decision.AllotTaskDecision">
</handler>
<transition name="newTaskPhase" to="allotNewTask">
</transition>
<transition name="taskEnd" to="end">
</transition>
</decision>
<decision name="decide">
<transition name="newTaskPhase" to="allotNewTask">
<condition expression="#{totalStep le oaTaskPhase.phasenum}"/>
</transition>
<transition name="taskEnd" to="end">
<condition expression="#{totalStep eq oaTaskPhase.phasenum}"/>
</transition>
</decision>
这样的流程定义再3.2.2发布的时候,在数据库表JBPM_DECISIONCONDITIONS中没有数据
。但同样的xml定义发布到3.1的数据库的时候JBPM_DECISIONCONDITIONS却有数据,
我将ProcessDefinition这个类断点查看了一下,发现里面都有数据的,但是在GraphSession类的deployProcessDefinition方法中session.save(processDefinition);缺怎么都不能往数据库里面写数据。
不知道是不是一个BUG?请知道的朋友指点下。
我的Hibernate的Version: 3.2.6.ga,不知道这问题是不是由于Hibernate版本高导致的。但是只有这个Hibernate以上的版本才能触发时间事件。
后来我为了实现同样的功能,将定义改成了
<decision name="decideWhatToDo">
<handler class="com.pujin.oa.workflow.allotTask.decision.AllotTaskDecision">
</handler>
<transition name="newTaskPhase" to="allotNewTask">
</transition>
<transition name="taskEnd" to="end">
</transition>
</decision>