7 DVD示例中工作流的使用
此示例當中定義了一個OrderManagement工作流程,系統在使用時,只調用了在(com.jboss.dvd.seamCheckoutAction類submitOrder方法)結帳時開始一個工作流實例。流程節點自動執行。
7.1 定義的三個工作流程圖
圖1
7.2 流程定義
<?xml version="1.0"?>
<!—定義流程名OrderManagement -->
<process-definition
name="OrderManagement"
xmlns="urn:jbpm.org:jpdl-3.2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:jbpm.org:jpdl-3.2 http://jbpm.org/xsd/jpdl-3.2.xsd"
>
<!—定義開始節點-->
<start-state name="start">
<transition to="process"/>
</start-state>
<!—任務節點-->
<task-node name="process" end-tasks="true">
<task name="ship" description="Ship order">
<!— 泳道方式設置參與者 -->
<assignment pooled-actors="#{shipperAssignment.pooledActors}"/>
</task>
<transition name="shipped" to="complete">
<!-- 日誌方法
com.jboss.dvd.seamAfterShippingAction. Log方法-->
<action expression="#{afterShipping.log}"/>
</transition>
<transition name="cancel" to="cancelled"/>
</task-node>
<end-state name="complete"/>
<end-state name="cancelled"/>
</process-definition>