﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-jbpm-随笔分类-jbpm实例</title><link>http://www.blogjava.net/jbpm/category/25747.html</link><description /><language>zh-cn</language><lastBuildDate>Wed, 12 Dec 2007 14:55:07 GMT</lastBuildDate><pubDate>Wed, 12 Dec 2007 14:55:07 GMT</pubDate><ttl>60</ttl><item><title>jBPM开发企业流程应用之在Tomcat上部署流程引擎及控制台</title><link>http://www.blogjava.net/jbpm/archive/2007/12/12/167259.html</link><dc:creator>jbpm</dc:creator><author>jbpm</author><pubDate>Wed, 12 Dec 2007 08:16:00 GMT</pubDate><guid>http://www.blogjava.net/jbpm/archive/2007/12/12/167259.html</guid><wfw:comment>http://www.blogjava.net/jbpm/comments/167259.html</wfw:comment><comments>http://www.blogjava.net/jbpm/archive/2007/12/12/167259.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jbpm/comments/commentRss/167259.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jbpm/services/trackbacks/167259.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.blogjava.net/jbpm/archive/2007/12/12/167259.html'>阅读全文</a><img src ="http://www.blogjava.net/jbpm/aggbug/167259.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jbpm/" target="_blank">jbpm</a> 2007-12-12 16:16 <a href="http://www.blogjava.net/jbpm/archive/2007/12/12/167259.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>jBPM开发企业流程应用之安装流程设计器 </title><link>http://www.blogjava.net/jbpm/archive/2007/12/12/167256.html</link><dc:creator>jbpm</dc:creator><author>jbpm</author><pubDate>Wed, 12 Dec 2007 08:13:00 GMT</pubDate><guid>http://www.blogjava.net/jbpm/archive/2007/12/12/167256.html</guid><wfw:comment>http://www.blogjava.net/jbpm/comments/167256.html</wfw:comment><comments>http://www.blogjava.net/jbpm/archive/2007/12/12/167256.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jbpm/comments/commentRss/167256.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jbpm/services/trackbacks/167256.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.blogjava.net/jbpm/archive/2007/12/12/167256.html'>阅读全文</a><img src ="http://www.blogjava.net/jbpm/aggbug/167256.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jbpm/" target="_blank">jbpm</a> 2007-12-12 16:13 <a href="http://www.blogjava.net/jbpm/archive/2007/12/12/167256.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JBPM外接任务表单简述   </title><link>http://www.blogjava.net/jbpm/archive/2007/11/11/159753.html</link><dc:creator>jbpm</dc:creator><author>jbpm</author><pubDate>Sun, 11 Nov 2007 08:24:00 GMT</pubDate><guid>http://www.blogjava.net/jbpm/archive/2007/11/11/159753.html</guid><wfw:comment>http://www.blogjava.net/jbpm/comments/159753.html</wfw:comment><comments>http://www.blogjava.net/jbpm/archive/2007/11/11/159753.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jbpm/comments/commentRss/159753.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jbpm/services/trackbacks/159753.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要:  目前我看过采用JBPM的工作流有web-console (JBPM 3.2.1自带）、RUNA WFE、SMART,就这三个我做一个比较：<br><br>RUNA WFE <br><br>    RUNA WFE是上面提到的三个中，唯一可以直接部署应用的，当然也有它的缺点，下面我会提到。这个框架采用的是Struts作为表示层，流程管理和组织架构管理都做的不错，良好的国际化，文档很全。如果只打算研究可以看下它的permission部分，它已经实现了对流程查看、启动、结束等的权限控制，JBPM自身在这部分基本还是TODO状态。 <br><br>&nbsp;&nbsp;<a href='http://www.blogjava.net/jbpm/archive/2007/11/11/159753.html'>阅读全文</a><img src ="http://www.blogjava.net/jbpm/aggbug/159753.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jbpm/" target="_blank">jbpm</a> 2007-11-11 16:24 <a href="http://www.blogjava.net/jbpm/archive/2007/11/11/159753.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一个简单的会签实例</title><link>http://www.blogjava.net/jbpm/archive/2007/10/15/153036.html</link><dc:creator>jbpm</dc:creator><author>jbpm</author><pubDate>Mon, 15 Oct 2007 09:34:00 GMT</pubDate><guid>http://www.blogjava.net/jbpm/archive/2007/10/15/153036.html</guid><wfw:comment>http://www.blogjava.net/jbpm/comments/153036.html</wfw:comment><comments>http://www.blogjava.net/jbpm/archive/2007/10/15/153036.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jbpm/comments/commentRss/153036.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jbpm/services/trackbacks/153036.html</trackback:ping><description><![CDATA[<p align="left">作者:tomkoo<br />
以下例子中 采用了jbpm console 的几个实例用户 </p>
<p>项目提交人 : ernie .</p>
<p>主管审批 : bert</p>
<p>会签 : ernie , bert , grover</p>
<p>老板审批 : grover</p>
<p>&nbsp;</p>
<p>正常流程: 项目金额 &gt;= 500W RMB</p>
<p>提交项目 --&gt; 主管审批 --&gt; 会签 --&gt; 老板审批 --&gt; 审批通过(结束)</p>
<p>正常流程: 项目金额 &lt; 500W RMB</p>
<p>提交项目 --&gt; 主管审批 --&gt; 会签 --&gt; 审批通过(结束)</p>
<p>其中主管审批, 会签, 老板审批 , 不通过, 全部退回给项目提交人修改. <br />
<br />
会签中: 所有人全通过, 则通过. 任何一人不通过, 停止其他会签任务.退回给提交人.</p>
<p>流程定义如下: </p>
<p>
<div class="code_div">
<div class="dp-highlighter">
<ol class="dp-xml">
    <li class="alt"><span><span class="tag">&lt;?</span><span class="tag-name">xml</span><span>&nbsp;</span><span class="attribute">version</span><span>=</span><span class="attribute-value">"1.0"</span><span>&nbsp;</span><span class="attribute">encoding</span><span>=</span><span class="attribute-value">"UTF-8"</span><span class="tag">?&gt;</span><span>&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;</span>
    <li class="alt"><span class="tag">&lt;</span><span class="tag-name">process-definition</span><span>&nbsp;</span><span class="attribute">xmlns</span><span>=</span><span class="attribute-value">"urn:jbpm.org:jpdl-3.1"</span><span>&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">"tc_prj_approval"</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;</span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">swimlane</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">"initiator"</span><span>&nbsp;</span><span class="tag">/&gt;</span><span>&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;</span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comments">&lt;!项目提交人&nbsp;&gt;</span><span>&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">swimlane</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">"requester"</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">assignment</span><span>&nbsp;</span><span class="attribute">expression</span><span>=</span><span class="attribute-value">"user(ernie)"</span><span>&nbsp;</span><span class="tag">/&gt;</span><span>&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;/</span><span class="tag-name">swimlane</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;</span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comments">&lt;!&nbsp;主管&nbsp;&gt;</span><span>&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">swimlane</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">"chief"</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">assignment</span><span>&nbsp;</span><span class="attribute">expression</span><span>=</span><span class="attribute-value">"user(bert)"</span><span>&nbsp;</span><span class="tag">/&gt;</span><span>&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;/</span><span class="tag-name">swimlane</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;</span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comments">&lt;!老板&nbsp;&gt;</span><span>&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">swimlane</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">"boss"</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">assignment</span><span>&nbsp;</span><span class="attribute">expression</span><span>=</span><span class="attribute-value">"user(grover)"</span><span>&nbsp;</span><span class="tag">/&gt;</span><span>&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;/</span><span class="tag-name">swimlane</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;</span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comments">&lt;!会签人&nbsp;&gt;</span><span>&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">swimlane</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">"cosinger"</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">assignment</span><span>&nbsp;</span><span class="attribute">class</span><span>=</span><span class="attribute-value">"net.chenj.jbpm.sample.CosingerAssiHandler"</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;/</span><span class="tag-name">assignment</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;/</span><span class="tag-name">swimlane</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">start-state</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">"start"</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">task</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">"tc_prj_newprj"</span><span>&nbsp;</span><span class="attribute">swimlane</span><span>=</span><span class="attribute-value">"initiator"</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">task</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">transition</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">"to_submit"</span><span>&nbsp;</span><span class="attribute">to</span><span>=</span><span class="attribute-value">"tc_prj_submit"</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">transition</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;/</span><span class="tag-name">start-state</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">task-node</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">"tc_prj_submit"</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">task</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">"tc_prj_submit"</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">task</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">transition</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">"to_chiefapprove"</span><span>&nbsp;</span><span class="attribute">to</span><span>=</span><span class="attribute-value">"tc_prj_chiefapprove"</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">transition</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;/</span><span class="tag-name">task-node</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">task-node</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">"tc_prj_chiefapprove"</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">task</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">"tc_prj_chiefapprove"</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">task</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">transition</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">"approve"</span><span>&nbsp;</span><span class="attribute">to</span><span>=</span><span class="attribute-value">"tc_prj_countersign"</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">transition</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">transition</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">"disapprove"</span><span>&nbsp;</span><span class="attribute">to</span><span>=</span><span class="attribute-value">"tc_prj_submit"</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">transition</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;/</span><span class="tag-name">task-node</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">task-node</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">"tc_prj_countersign"</span><span>&nbsp;</span><span class="attribute">signal</span><span>=</span><span class="attribute-value">"last-wait"</span><span>&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="attribute">create-tasks</span><span>=</span><span class="attribute-value">"false"</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">task</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">"tc_prj_countersign"</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">event</span><span>&nbsp;</span><span class="attribute">type</span><span>=</span><span class="attribute-value">"task-end"</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">action</span><span>&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="attribute">class</span><span>=</span><span class="attribute-value">"net.chenj.jbpm.sample.TaskEndCountersign"</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;/</span><span class="tag-name">action</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;/</span><span class="tag-name">event</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;</span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;/</span><span class="tag-name">task</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;</span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">event</span><span>&nbsp;</span><span class="attribute">type</span><span>=</span><span class="attribute-value">"node-enter"</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">action</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">"createInstance"</span><span>&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="attribute">class</span><span>=</span><span class="attribute-value">"net.chenj.jbpm.sample.CreateTaskInstanceCountersign"</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;/</span><span class="tag-name">action</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;/</span><span class="tag-name">event</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;</span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">transition</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">"approve"</span><span>&nbsp;</span><span class="attribute">to</span><span>=</span><span class="attribute-value">"amount_decision"</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">transition</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">transition</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">"disapprove"</span><span>&nbsp;</span><span class="attribute">to</span><span>=</span><span class="attribute-value">"tc_prj_submit"</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">transition</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;/</span><span class="tag-name">task-node</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">decision</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">"amount_decision"</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">transition</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">"to_bossapprove"</span><span>&nbsp;</span><span class="attribute">to</span><span>=</span><span class="attribute-value">"tc_prj_bossapprove"</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">transition</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">transition</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">"to_end"</span><span>&nbsp;</span><span class="attribute">to</span><span>=</span><span class="attribute-value">"end1"</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">transition</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;/</span><span class="tag-name">decision</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">task-node</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">"tc_prj_bossapprove"</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">task</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">"tc_prj_bossapprove"</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">task</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">transition</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">"approve"</span><span>&nbsp;</span><span class="attribute">to</span><span>=</span><span class="attribute-value">"end1"</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">transition</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">transition</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">"disapprove"</span><span>&nbsp;</span><span class="attribute">to</span><span>=</span><span class="attribute-value">"tc_prj_submit"</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">condition</span><span class="tag">&gt;</span><span>#{amount&nbsp;</span><span class="tag">&gt;</span><span>=&nbsp;500}</span><span class="tag">&lt;/</span><span class="tag-name">condition</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;/</span><span class="tag-name">transition</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;/</span><span class="tag-name">task-node</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">end-state</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">"end1"</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">end-state</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span>
    <li class="alt"><span class="tag">&lt;/</span><span class="tag-name">process-definition</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;</span> </li>
</ol>
</div>
</div>
<script>render_code();</script>
<p>&nbsp;</p>
<p>会签swimlane class</p>
<p>
<div class="code_div">
<div class="dp-highlighter">
<ol class="dp-j">
    <li class="alt"><span><span class="keyword">package</span><span>&nbsp;net.chenj.jbpm.sample; &nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;</span>
    <li class="alt"><span class="keyword">import</span><span>&nbsp;org.jbpm.graph.exe.*; &nbsp;&nbsp;</span></span>
    <li class=""><span class="keyword">import</span><span>&nbsp;org.jbpm.taskmgmt.def.*; &nbsp;&nbsp;</span></span>
    <li class="alt"><span class="keyword">import</span><span>&nbsp;org.jbpm.taskmgmt.exe.Assignable; &nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;</span>
    <li class="alt"><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">class</span><span>&nbsp;CosingerAssiHandler&nbsp;</span><span class="keyword">implements</span><span>&nbsp;AssignmentHandler&nbsp;{ &nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;</span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;</span><span class="keyword">final</span><span>&nbsp;</span><span class="keyword">long</span><span>&nbsp;serialVersionUID&nbsp;=&nbsp;1L; &nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;</span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">void</span><span>&nbsp;assign(Assignable&nbsp;assignable,&nbsp;ExecutionContext&nbsp;executionContext)&nbsp;{ &nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;从数据库或者ldap&nbsp;读取会签人设置 </span><span>&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String[]&nbsp;a&nbsp;=&nbsp;{&nbsp;</span><span class="string">"ernie"</span><span>,&nbsp;</span><span class="string">"bert"</span><span>,&nbsp;</span><span class="string">"grover"</span><span>&nbsp;}; &nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;assignable.setPooledActors(a); &nbsp;&nbsp;</span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span>
    <li class=""><span>&nbsp;&nbsp;</span>
    <li class="alt"><span>} &nbsp;&nbsp;</span>
    <li class=""><span>&nbsp;&nbsp;</span> </li>
</ol>
</div>
</div>
<script>render_code();</script><br />
创建会签任务实现类
<p>&nbsp;</p>
<p>&nbsp;
<div class="code_div">
<div class="dp-highlighter">
<ol class="dp-j">
    <li class="alt"><span><span class="keyword">package</span><span>&nbsp;net.chenj.jbpm.sample; &nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;</span>
    <li class="alt"><span class="keyword">import</span><span>&nbsp;org.jbpm.graph.def.ActionHandler; &nbsp;&nbsp;</span></span>
    <li class=""><span class="keyword">import</span><span>&nbsp;org.jbpm.graph.exe.ExecutionContext; &nbsp;&nbsp;</span></span>
    <li class="alt"><span class="keyword">import</span><span>&nbsp;org.jbpm.graph.exe.Token; &nbsp;&nbsp;</span></span>
    <li class=""><span class="keyword">import</span><span>&nbsp;org.jbpm.graph.node.TaskNode; &nbsp;&nbsp;</span></span>
    <li class="alt"><span class="keyword">import</span><span>&nbsp;org.jbpm.taskmgmt.def.Task; &nbsp;&nbsp;</span></span>
    <li class=""><span class="keyword">import</span><span>&nbsp;org.jbpm.taskmgmt.exe.TaskMgmtInstance; &nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;</span>
    <li class=""><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">class</span><span>&nbsp;CreateTaskInstanceCountersign&nbsp;</span><span class="keyword">implements</span><span>&nbsp;ActionHandler&nbsp;{ &nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;</span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;</span><span class="keyword">final</span><span>&nbsp;</span><span class="keyword">long</span><span>&nbsp;serialVersionUID&nbsp;=&nbsp;1L; &nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;</span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">void</span><span>&nbsp;execute(ExecutionContext&nbsp;executionContext)&nbsp;</span><span class="keyword">throws</span><span>&nbsp;Exception&nbsp;{ &nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;</span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Token&nbsp;token&nbsp;=&nbsp;executionContext.getToken(); &nbsp;&nbsp;</span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TaskMgmtInstance&nbsp;tmi&nbsp;=&nbsp;executionContext.getTaskMgmtInstance(); &nbsp;&nbsp;</span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TaskNode&nbsp;taskNode&nbsp;=&nbsp;(TaskNode)&nbsp;executionContext.getNode(); &nbsp;&nbsp;</span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Task&nbsp;task&nbsp;=&nbsp;taskNode.getTask(</span><span class="string">"tc_prj_countersign"</span><span>); &nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;从数据库或者ldap&nbsp;读取会签人设置创建任务实例 </span><span>&nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tmi.createTaskInstance(task,&nbsp;token).setActorId(</span><span class="string">"ernie"</span><span>); &nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tmi.createTaskInstance(task,&nbsp;token).setActorId(</span><span class="string">"bert"</span><span>); &nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tmi.createTaskInstance(task,&nbsp;token).setActorId(</span><span class="string">"grover"</span><span>); &nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;</span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span>
    <li class=""><span>&nbsp;&nbsp;</span>
    <li class="alt"><span>} &nbsp;&nbsp;</span> </li>
</ol>
</div>
</div>
<script>render_code();</script>
<p>&nbsp;</p>
<p>结束不通过时结束其他会签任务实现 <br />
<div class="code_div">
<div class="dp-highlighter">
<ol class="dp-j">
    <li class="alt"><span><span class="keyword">package</span><span>&nbsp;net.chenj.jbpm.sample; &nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;</span>
    <li class="alt"><span class="keyword">import</span><span>&nbsp;java.util.Collection; &nbsp;&nbsp;</span></span>
    <li class=""><span class="keyword">import</span><span>&nbsp;java.util.Iterator; &nbsp;&nbsp;</span></span>
    <li class="alt"><span class="keyword">import</span><span>&nbsp;org.jbpm.graph.def.ActionHandler; &nbsp;&nbsp;</span></span>
    <li class=""><span class="keyword">import</span><span>&nbsp;org.jbpm.graph.exe.ExecutionContext; &nbsp;&nbsp;</span></span>
    <li class="alt"><span class="keyword">import</span><span>&nbsp;org.jbpm.taskmgmt.exe.TaskInstance; &nbsp;&nbsp;</span></span>
    <li class=""><span class="keyword">import</span><span>&nbsp;org.jbpm.taskmgmt.exe.TaskMgmtInstance; &nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;</span>
    <li class=""><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">class</span><span>&nbsp;TaskEndCountersign&nbsp;</span><span class="keyword">implements</span><span>&nbsp;ActionHandler&nbsp;{ &nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;</span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;</span><span class="keyword">final</span><span>&nbsp;</span><span class="keyword">long</span><span>&nbsp;serialVersionUID&nbsp;=&nbsp;1L; &nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;</span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">void</span><span>&nbsp;execute(ExecutionContext&nbsp;executionContext)&nbsp;</span><span class="keyword">throws</span><span>&nbsp;Exception&nbsp;{ &nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;</span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">boolean</span><span>&nbsp;isDisapprove&nbsp;=&nbsp;Boolean.valueOf((String)&nbsp;executionContext &nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.getVariable(</span><span class="string">"isDisapprove"</span><span>)); &nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;如果有一个任务实例拒绝通过则结束除当前任务实例外其他任务实例 </span><span>&nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span>&nbsp;(isDisapprove)&nbsp;{ &nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TaskMgmtInstance&nbsp;tmi&nbsp;=&nbsp;executionContext.getTaskMgmtInstance(); &nbsp;&nbsp;</span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TaskInstance&nbsp;ti&nbsp;=&nbsp;executionContext.getTaskInstance(); &nbsp;&nbsp;</span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">final</span><span>&nbsp;String&nbsp;actorId&nbsp;=&nbsp;ti.getActorId(); &nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Collection&nbsp;c&nbsp;=&nbsp;tmi.getSignallingTasks(executionContext); &nbsp;&nbsp;</span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">for</span><span>&nbsp;(Iterator&nbsp;it&nbsp;=&nbsp;c.iterator();&nbsp;it.hasNext();)&nbsp;{ &nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TaskInstance&nbsp;task&nbsp;=&nbsp;(TaskInstance)&nbsp;it.next(); &nbsp;&nbsp;</span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span>&nbsp;(!(actorId.equals(task.getActorId()))&nbsp;&amp;&amp;&nbsp;(!task.hasEnded()))&nbsp;{ &nbsp;&nbsp;</span></span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;task.end(</span><span class="string">"disapprove"</span><span>); &nbsp;&nbsp;</span></span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span>
    <li class=""><span>&nbsp;&nbsp;</span>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span>
    <li class=""><span>&nbsp;&nbsp;</span>
    <li class="alt"><span>} &nbsp;&nbsp;</span> </li>
</ol>
</div>
</div>
<script>render_code();</script>
<p>&nbsp;</p>
<p>&nbsp;</p>
<img src ="http://www.blogjava.net/jbpm/aggbug/153036.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jbpm/" target="_blank">jbpm</a> 2007-10-15 17:34 <a href="http://www.blogjava.net/jbpm/archive/2007/10/15/153036.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>任务指派实例</title><link>http://www.blogjava.net/jbpm/archive/2007/09/23/147580.html</link><dc:creator>jbpm</dc:creator><author>jbpm</author><pubDate>Sun, 23 Sep 2007 08:29:00 GMT</pubDate><guid>http://www.blogjava.net/jbpm/archive/2007/09/23/147580.html</guid><wfw:comment>http://www.blogjava.net/jbpm/comments/147580.html</wfw:comment><comments>http://www.blogjava.net/jbpm/archive/2007/09/23/147580.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jbpm/comments/commentRss/147580.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jbpm/services/trackbacks/147580.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 在下面的例子里，我们将向您展示如何能给用户分配任务。因为在jBPM工作流<br><br>引擎和组织机构模型之间是分离的，对计算参与者的表达语言将总是被限制的。<br><br>因此，你必须指定一个任务处理的实现，包括计算任务参与者<br>&nbsp;&nbsp;<a href='http://www.blogjava.net/jbpm/archive/2007/09/23/147580.html'>阅读全文</a><img src ="http://www.blogjava.net/jbpm/aggbug/147580.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jbpm/" target="_blank">jbpm</a> 2007-09-23 16:29 <a href="http://www.blogjava.net/jbpm/archive/2007/09/23/147580.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>业务日历实例</title><link>http://www.blogjava.net/jbpm/archive/2007/09/19/146551.html</link><dc:creator>jbpm</dc:creator><author>jbpm</author><pubDate>Wed, 19 Sep 2007 09:40:00 GMT</pubDate><guid>http://www.blogjava.net/jbpm/archive/2007/09/19/146551.html</guid><wfw:comment>http://www.blogjava.net/jbpm/comments/146551.html</wfw:comment><comments>http://www.blogjava.net/jbpm/archive/2007/09/19/146551.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/jbpm/comments/commentRss/146551.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jbpm/services/trackbacks/146551.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 业务日历是关于业务时间的，并且被用于为任务和定时器计算预期的时间。 业务日历能够通过对一个期限和日期进行增加来计算日期。我们先看看业务日历的语法： <br><br>xml 代码<br><br><quantity>[business]<unit>   <br><br><br>&nbsp;&nbsp;<a href='http://www.blogjava.net/jbpm/archive/2007/09/19/146551.html'>阅读全文</a><img src ="http://www.blogjava.net/jbpm/aggbug/146551.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jbpm/" target="_blank">jbpm</a> 2007-09-19 17:40 <a href="http://www.blogjava.net/jbpm/archive/2007/09/19/146551.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>请假流程</title><link>http://www.blogjava.net/jbpm/archive/2007/09/11/144246.html</link><dc:creator>jbpm</dc:creator><author>jbpm</author><pubDate>Tue, 11 Sep 2007 05:47:00 GMT</pubDate><guid>http://www.blogjava.net/jbpm/archive/2007/09/11/144246.html</guid><wfw:comment>http://www.blogjava.net/jbpm/comments/144246.html</wfw:comment><comments>http://www.blogjava.net/jbpm/archive/2007/09/11/144246.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jbpm/comments/commentRss/144246.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jbpm/services/trackbacks/144246.html</trackback:ping><description><![CDATA[<br />
作者：<span style="color: #000000">&nbsp;<a href="http://nogocn.javaeye.com/">nogocn</a>&nbsp;</span><br />
<br />
<p><span lang="EN-US"><font color="#000000"><strong><u><span lang="EN-US" style="color: blue"><o:p></o:p></span></u></strong></font></span><font size="3"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在某一公司中，部门员工要休假的话需要部门主管的批准。如果休假天数大于</span><span lang="EN-US"><font face="Times New Roman">10</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">天的话，在部门主管的同意后，还必须上级主管批准。如果是部门主管要休假只要上级主管批准即可。在休假被批准之前，申请人可以撤销休假申请。</span></font><span lang="EN-US"><br />
</span><font size="3"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">每个员工还有多少天休假必须管理起来，在员工提交休假申请时要检查申请天数是否超过可用天数。申请批准后，要在可用天数里减去申请天数。每次休假申请结束之后，不管通过未通过或是否取消，都必须记录下来。主管在批复申请之后，系统要将批复结果</span><span lang="EN-US"><font face="Times New Roman">Email</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">给申请人。对于大于</span><span lang="EN-US"><font face="Times New Roman">10</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">天的申请，如果部门主管已批准同意而上级主管还未批准，这时申请人撤销申请后，系统应发</span><span lang="EN-US"><font face="Times New Roman">Email</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">通知部门主管申请已撤销。</span></font><font size="3"><span lang="EN-US"><font face="Times New Roman">&nbsp;<br />
&nbsp;&nbsp;processdefinition.xml</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如下：</span></font><span lang="EN-US"><br />
<font face="Times New Roman" size="3">&lt;?xml version="1.0" encoding="UTF-8"?&gt;<br />
&lt;!-- edited with XMLSPY v2004 rel. 3 U (</font><a href="http://www.xmlspy.com/" _fcksavedurl="http://www.xmlspy.com/"><font face="Times New Roman" size="3">http://www.xmlspy.com</font></a><font face="Times New Roman" size="3">) by Keller (zju) --&gt;<br />
&lt;!DOCTYPE process-definition PUBLIC<br />
&nbsp;&nbsp;&nbsp; "-//jBpm/jBpm Mapping DTD 2.0//EN"<br />
&nbsp;&nbsp;&nbsp; "</font><a href="http://jbpm.org/dtd/processdefinition-2.0.dtd" _fcksavedurl="http://jbpm.org/dtd/processdefinition-2.0.dtd"><font face="Times New Roman" size="3">http://jbpm.org/dtd/processdefinition-2.0.dtd</font></a><font face="Times New Roman" size="3">"&gt;<br />
&lt;process-definition&nbsp; name="RequestLeave"&gt;<br />
&nbsp;&lt;swimlane name="requester"&gt;<br />
&nbsp;&nbsp;&lt;description&gt;</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><font size="3">申请者</font></span><font size="3"><span lang="EN-US"><font face="Times New Roman">&lt;/description&gt;<br />
&nbsp;&lt;/swimlane&gt;<br />
&nbsp;&lt;swimlane name="chief"&gt;<br />
&nbsp;&nbsp;&lt;description&gt;</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">部门主管</span></font><font size="3"><span lang="EN-US"><font face="Times New Roman">&lt;/description&gt;<br />
&nbsp;&nbsp;&lt;delegation class="kellerdu.jbpm.delegation.ChiefSwimlane"/&gt;<br />
&nbsp;&lt;/swimlane&gt;<br />
&nbsp;&lt;swimlane name="boss"&gt;<br />
&nbsp;&nbsp;&lt;description&gt;</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">上级主管</span></font><font size="3"><span lang="EN-US"><font face="Times New Roman">&lt;/description&gt;<br />
&nbsp;&nbsp;&lt;delegation class="kellerdu.jbpm.delegation.BossSwimlane"/&gt;<br />
&nbsp;&lt;/swimlane&gt;<br />
&nbsp;&lt;start-state name="request" swimlane="requester"&gt;<br />
&nbsp;&nbsp;&lt;transition to="Begin Request"/&gt;<br />
&nbsp;&lt;/start-state&gt;<br />
&nbsp;&lt;fork name="Begin Request"&gt;<br />
&nbsp;&nbsp;&lt;transition to="Requester Cancel"/&gt;<br />
&nbsp;&nbsp;&lt;transition to="IsChief"/&gt;<br />
&nbsp;&lt;/fork&gt;<br />
&nbsp;&lt;decision name="IsChief"&gt;<br />
&nbsp;&nbsp;&lt;delegation class="kellerdu.jbpm.delegation.ChiefDecision"/&gt;<br />
&nbsp;&nbsp;&lt;transition name="Boss Approve"&nbsp; to="Boss Approve"/&gt;<br />
&nbsp;&nbsp;&lt;transition name="Chief Approve"&nbsp; to="Chief Approve"/&gt;<br />
&nbsp;&lt;/decision&gt;<br />
&nbsp;&lt;state name="Requester Cancel"&gt;<br />
&nbsp;&nbsp;&lt;assignment swimlane="requester"/&gt;<br />
&nbsp;&nbsp;&lt;transition name="cancel" to="Decided"&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;action&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;!-- </font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">将请假的状态改变为</span><span lang="EN-US"><font face="Times New Roman">&#8220;</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">取消</span></font><font size="3"><span lang="EN-US"><font face="Times New Roman">&#8221;--&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;delegation class="kellerdu.jbpm.action.RequestCancel"/&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;/action&gt;<br />
&nbsp;&nbsp;&lt;/transition&gt;<br />
&nbsp;&lt;/state&gt;<br />
&nbsp;&lt;state name="Chief Approve"&gt;<br />
&nbsp;&nbsp;&lt;assignment swimlane="chief"/&gt;<br />
&nbsp;&nbsp;&lt;transition name="approve" to="NeedBossApprove"&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;action&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;!-- </font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">将请假的状态改变为</span><span lang="EN-US"><font face="Times New Roman">&#8220;</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">主管批准</span></font><font size="3"><span lang="EN-US"><font face="Times New Roman">&#8221;--&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;delegation class="kellerdu.jbpm.action.ChiefApprove"/&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;/action&gt;<br />
&nbsp;&nbsp;&lt;/transition&gt;<br />
&nbsp;&nbsp;&lt;transition name="disapprove" to="Decided"&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;action&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;!-- </font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">将请假的状态改变为</span><span lang="EN-US"><font face="Times New Roman">&#8220;</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">主管否决</span></font><font size="3"><span lang="EN-US"><font face="Times New Roman">&#8221;--&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;delegation class="kellerdu.jbpm.action.ChiefDisapprove"/&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;/action&gt;<br />
&nbsp;&nbsp;&lt;/transition&gt;<br />
&nbsp;&lt;/state&gt;<br />
&nbsp;&lt;state name="Boss Approve"&gt;<br />
&nbsp;&nbsp;&lt;assignment swimlane="boss"/&gt;<br />
&nbsp;&nbsp;&lt;transition name="approve" to="Decided"&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;action&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;!-- </font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">将请假的状态改变为</span><span lang="EN-US"><font face="Times New Roman">&#8220;</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">老板批准</span></font><font size="3"><span lang="EN-US"><font face="Times New Roman">&#8221;--&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;delegation class="kellerdu.jbpm.action.BossApprove"/&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;/action&gt;<br />
&nbsp;&nbsp;&lt;/transition&gt;<br />
&nbsp;&nbsp;&lt;transition name="disapprove" to="Decided"&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;action&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;!-- </font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">将请假的状态改变为</span><span lang="EN-US"><font face="Times New Roman">&#8220;</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">老板否决</span></font><font size="3"><span lang="EN-US"><font face="Times New Roman">&#8221;--&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;delegation class="kellerdu.jbpm.action.BossDisapprove"/&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;/action&gt;<br />
&nbsp;&nbsp;&lt;/transition&gt;<br />
&nbsp;&lt;/state&gt;<br />
&nbsp;&lt;decision name="NeedBossApprove"&gt;<br />
&nbsp;&nbsp;&lt;!-- </font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">请假天数大于</span><span lang="EN-US"><font face="Times New Roman">10</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">天的要老板批准</span></font><font size="3"><span lang="EN-US"><font face="Times New Roman">&nbsp; --&gt;<br />
&nbsp;&nbsp;&lt;delegation class="kellerdu.jbpm.delegation.NeedBossApproveDecision"/&gt;<br />
&nbsp;&nbsp;&lt;transition name="need" to="Boss Approve"/&gt;<br />
&nbsp;&nbsp;&lt;transition name="notNeed" to="Decided"/&gt;<br />
&nbsp;&lt;/decision&gt;<br />
&nbsp;&lt;join name="Decided"&gt;<br />
&nbsp;&nbsp;&lt;description&gt;</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">有一个先到达即进行父</span></font><font size="3"><span lang="EN-US"><font face="Times New Roman">Token&lt;/description&gt;<br />
&nbsp;&nbsp;&lt;delegation class="kellerdu.jbpm.delegation.DecidedJoin"/&gt;<br />
&nbsp;&nbsp;&lt;transition to="Do Something"/&gt;<br />
&nbsp;&lt;/join&gt;<br />
&nbsp;&lt;decision name="Do Something"&gt;<br />
&nbsp;&nbsp;&lt;description&gt;<br />
&nbsp;&nbsp;&nbsp; </font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">根据请求的状态决定。</span></font><span lang="EN-US"><br />
<font face="Times New Roman" size="3">&nbsp;&nbsp;&nbsp; </font></span><font size="3"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">（</span><span lang="EN-US"><font face="Times New Roman">1</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">）</span><span lang="EN-US"><font face="Times New Roman">&#8220;</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">主管或者老板批准</span><span lang="EN-US"><font face="Times New Roman">&#8221;</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">－</span><span lang="EN-US"><font face="Times New Roman">&#8216;approve&#8217;</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：修改员工休假的总天数，设定发给用户</span><span lang="EN-US"><font face="Times New Roman">E-Mail</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的信息。</span></font><span lang="EN-US"><br />
<font face="Times New Roman" size="3">&nbsp;&nbsp;&nbsp; </font></span><font size="3"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">（</span><span lang="EN-US"><font face="Times New Roman">2</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">）</span><span lang="EN-US"><font face="Times New Roman">&#8220;</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">主管或者老板否决</span><span lang="EN-US"><font face="Times New Roman">&#8221;-&#8220;disapprove&#8221;</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：设定发给用户</span><span lang="EN-US"><font face="Times New Roman">E</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">－</span><span lang="EN-US"><font face="Times New Roman">Mail</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的信息。</span></font><span lang="EN-US"><br />
<font face="Times New Roman" size="3">&nbsp;&nbsp;&nbsp; </font></span><font size="3"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">（</span><span lang="EN-US"><font face="Times New Roman">3</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">）</span><span lang="EN-US"><font face="Times New Roman">&#8220;</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">撤销</span><span lang="EN-US"><font face="Times New Roman">&#8221;-"cancel"</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">－设定发给用户</span><span lang="EN-US"><font face="Times New Roman">E</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">－</span><span lang="EN-US"><font face="Times New Roman">Mail</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的信息。如果主管批准，要发给主管消息说明已经撤销。</span></font><span lang="EN-US"><br />
<font face="Times New Roman" size="3">&nbsp;&nbsp;&nbsp; &lt;/description&gt;<br />
&nbsp;&nbsp;&lt;delegation class="kellerdu.jbpm.delegation.DoSomethingDecision"/&gt;<br />
&nbsp;&nbsp;&lt;transition name="disapprove" to="Finished"&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;action&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;delegation class="kellerdu.jbpm.action.Disapprove"/&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;/action&gt;<br />
&nbsp;&nbsp;&lt;/transition&gt;<br />
&nbsp;&nbsp;&lt;transition name="approve" to="Finished"&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;action&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;delegation class="kellerdu.jbpm.action.Approve"/&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;/action&gt;<br />
&nbsp;&nbsp;&lt;/transition&gt;<br />
&nbsp;&nbsp;&lt;transition name="cancel" to="Finished"&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;action&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;delegation class="kellerdu.jbpm.action.Cancel"/&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;/action&gt;<br />
&nbsp;&nbsp;&lt;/transition&gt;<br />
&nbsp;&lt;/decision&gt;<br />
&nbsp;&lt;end-state name="Finished"/&gt;<br />
&nbsp;&lt;action event-type="process-end"&gt;<br />
&nbsp;&nbsp;&lt;!-- </font></span><font size="3"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">发送</span><span lang="EN-US"><font face="Times New Roman">E</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">－</span><span lang="EN-US"><font face="Times New Roman">Mail</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">消息给申请者，记录请假日志</span></font><span lang="EN-US"><font face="Times New Roman" size="3"> --&gt;<br />
&nbsp;&nbsp;&lt;delegation class="kellerdu.jbpm.action.ProcessEndAction"/&gt;<br />
&nbsp;&lt;/action&gt;<br />
&lt;/process-definition&gt;</font><br />
</span>&nbsp;</p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><br />
</p>
<img src ="http://www.blogjava.net/jbpm/aggbug/144246.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jbpm/" target="_blank">jbpm</a> 2007-09-11 13:47 <a href="http://www.blogjava.net/jbpm/archive/2007/09/11/144246.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>