<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>Java、咖啡与茶</title>
    <description>一个热爱编程的人，以“程序员”这个名称为豪；Java世界的狂热追随者。喜欢逛技术论坛，热衷与开源社区的文化氛围，并贡献过自己的开源项目</description>
    <link>http://linliangyi2007.javaeye.com</link>
    <language>UTF-8</language>
    <copyright>Copyright 2003-2008, JavaEye.com</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>JavaEye - 做最棒的软件开发交流社区</generator>
          <item>
        <title>阳光下的闽江一隅</title>
        <author>linliangyi2007</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://linliangyi2007.javaeye.com">linliangyi2007</a>&nbsp;
                    链接：<a href="http://linliangyi2007.javaeye.com/blog/189732" style="color:red;">http://linliangyi2007.javaeye.com/blog/189732</a>&nbsp;
          发表时间: 2008年05月05日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          福州，我生活了28年的故乡，一直以来就想记录下她的日新月异、她的点滴变迁。<br />这一座中国东南部的城市，不那么耀眼，却总透出一份生活的淡定与从容，很喜欢她的韵味和节奏。<br />     五一了，终于有机会用自己手中的DC开始记录她的勃勃生机，她的现代化步伐。就从孕育这座城市的母亲河闽江开始吧。<br /><br /><img src="http://linliangyi2007.javaeye.com/upload/picture/pic/13539/c4709e80-e6bc-3617-b424-de38cbce8ac5.jpg" /><br /><br /><img src="http://linliangyi2007.javaeye.com/upload/picture/pic/13541/bb6dba76-7b0a-321f-a314-fc54bd4c20ff.jpg" /><br /><br /><img src="http://linliangyi2007.javaeye.com/upload/picture/pic/13543/7e3032d0-ea8d-3f71-9362-c6b063e9a5de.jpg" /><br /><br /><img src="http://linliangyi2007.javaeye.com/upload/picture/pic/13545/e444ab33-42d1-36e6-b975-f71c97156253.jpg" /><br /><br /><img src="http://linliangyi2007.javaeye.com/upload/picture/pic/13547/db980f02-9982-3b7f-9a8c-9e93ac710455.jpg" /><br /><br /><img src="http://linliangyi2007.javaeye.com/upload/picture/pic/13549/935115c6-fc63-3c5a-9066-eb4a6563082d.jpg" /><br /><br /><img src="http://linliangyi2007.javaeye.com/upload/picture/pic/13551/8a681328-5db0-39cd-b8a3-41f8331ab0b9.jpg" /><br /><br /><img src="http://linliangyi2007.javaeye.com/upload/picture/pic/13553/6fe1aa3d-17ae-3cac-b7d2-0c863c436c41.jpg" /><br /><br /><img src="http://linliangyi2007.javaeye.com/upload/picture/pic/13555/6f10560d-88a3-3607-bc39-d2445ca3e183.jpg" /><br /><br /><img src="http://linliangyi2007.javaeye.com/upload/picture/pic/13557/ba22a05a-382f-33ef-956a-0ad2ec267220.jpg" /><br /><br /><img src="http://linliangyi2007.javaeye.com/upload/picture/pic/13559/b1c9ff8c-28de-3186-9d48-5e216cb5b11d.jpg" /><br /><br /><img src="http://linliangyi2007.javaeye.com/upload/picture/pic/13561/1a31017a-c859-31ff-9237-292035154d57.jpg" /><br /><br /><img src="http://linliangyi2007.javaeye.com/upload/picture/pic/13563/9b14cea2-b4fe-36d9-aaa1-44e54fa0909c.jpg" /><br /><br /><img src="http://linliangyi2007.javaeye.com/upload/picture/pic/13565/5238c503-67ba-30aa-ae41-97adc52e92c6.jpg" /><br /><br /><img src="http://linliangyi2007.javaeye.com/upload/picture/pic/13567/2a952aca-1246-3627-93a2-bda6227344be.jpg" /><br /><br /><img src="http://linliangyi2007.javaeye.com/upload/picture/pic/13569/b4a52153-0056-3d39-a432-683f9c963ce1.jpg" /><br /><br /><img src="http://linliangyi2007.javaeye.com/upload/picture/pic/13571/db24a87f-c3c2-34e4-b196-548ee561bbdf.jpg" /><br /><br /><img src="http://linliangyi2007.javaeye.com/upload/picture/pic/13573/a63443d4-d940-3ced-aff9-6186fd28b1b7.jpg" /><br /><br /><img src="http://linliangyi2007.javaeye.com/upload/picture/pic/13575/8e0375df-8058-3800-ae9d-570a6cb2b5f0.jpg" /><br /><br /><img src="http://linliangyi2007.javaeye.com/upload/picture/pic/13577/e7db9856-2640-380b-936e-9fb350f52b6a.jpg" /><br /><br /><img src="http://linliangyi2007.javaeye.com/upload/picture/pic/13579/a63b2e65-bc0e-30f0-9003-1a6debded161.jpg" />
          <br/>
          <span style="color:red;">
            <a href="http://linliangyi2007.javaeye.com/blog/189732#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/70' target='_blank'><span style="color:red;font-weight:bold;">第二届网络工程师侠客行大会5月24日杭州举行</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 05 May 2008 15:09:49 +0800</pubDate>
        <link>http://linliangyi2007.javaeye.com/blog/189732</link>
        <guid>http://linliangyi2007.javaeye.com/blog/189732</guid>
      </item>
          <item>
        <title>清明时节的盎然生机</title>
        <author>linliangyi2007</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://linliangyi2007.javaeye.com">linliangyi2007</a>&nbsp;
                    链接：<a href="http://linliangyi2007.javaeye.com/blog/182217" style="color:red;">http://linliangyi2007.javaeye.com/blog/182217</a>&nbsp;
          发表时间: 2008年04月13日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          清明历来就是中国人踏青游春的时节，咖啡我也想尝试古人那种闲庭信步品山水的情怀，融入大自然，欣赏生命之美。<br />怀揣着刚买到手的数码相机，大无畏的踏上征程。（PS：之所以是要说是大无畏，因为咖啡学习摄影的历史只有3天<img src="/images/smiles/icon_redface.gif"/>，自己都很汗。个人梦想是游遍名山大川，尝遍中华美食）<br /><br />自然界中，生命的美是无处不在的。清明时节的野外，一支不起眼的路边小花，也能绽放盎然生机。<br /><br /><img src="http://linliangyi2007.javaeye.com/upload/picture/pic/11809/dcd851ef-dd69-3452-825d-b40c5e8a95cf.jpg" /><br />映山红,也叫杜鹃，其实挺常见，但上了镜头，就现的很不同<br /><br /><img src="http://linliangyi2007.javaeye.com/upload/picture/pic/11811/d026f4f8-0d1f-3d78-9017-9513dd77f0eb.jpg" /><br />这是红白相间的<br /><br /><img src="http://linliangyi2007.javaeye.com/upload/picture/pic/11841/35667f4d-43eb-3953-bb13-8d2e3a1ec85f.jpg" /><br />还有纯白的，特美<br /><br /><img src="http://linliangyi2007.javaeye.com/upload/picture/pic/11813/6cb66770-ecc2-3183-8618-cc17af7d22bb.jpg" /><br />雨露中的翠竹<br /><br /><img src="http://linliangyi2007.javaeye.com/upload/picture/pic/11815/5b1f8029-153a-39b8-8838-283bf93b7b26.jpg" /><br />这只狗狗貌似蓄势待发，其实是在伸懒腰，咔咔！<br /><br /><img src="http://linliangyi2007.javaeye.com/upload/picture/pic/11819/c6d52b9f-76d3-32b1-94c6-2ff0327de283.jpg" /><br />不知名的小花，簇拥着枝头<br /><br /><img src="http://linliangyi2007.javaeye.com/upload/picture/pic/11821/0cfae2fe-f14c-3791-a97b-5ab62bce4d9c.jpg" /><br /><img src="http://linliangyi2007.javaeye.com/upload/picture/pic/11823/0447693b-3f97-3eae-ad09-b3cde5ebdf2e.jpg" /><br />这两朵貌似一雄一雌<br /><br /><img src="http://linliangyi2007.javaeye.com/upload/picture/pic/11825/aec07249-f650-3e77-ac39-76415d9fba82.jpg" /><br />黄澄澄的油菜花，这样拍下来还是挺美的<br /><br /><img src="http://linliangyi2007.javaeye.com/upload/picture/pic/11827/084fb703-fd1e-32fa-91ef-5f5e5ee8798d.jpg" /><br />再来一张特写<br /><br /><img src="http://linliangyi2007.javaeye.com/upload/picture/pic/11829/50b3c614-66c4-3e3e-a070-f61ba5dac558.jpg" /><br /><img src="http://linliangyi2007.javaeye.com/upload/picture/pic/11831/aec7cee6-6936-3619-b933-ed89f015cf44.jpg" /><br />传说是马铃薯<br /><br />剩下的我也说不上来了，大家欣赏吧，深刻感觉生命都是很美的！<br /><img src="http://linliangyi2007.javaeye.com/upload/picture/pic/11833/154d9b64-7d10-3a3c-afdf-b5e708d51817.jpg" /><br /><img src="http://linliangyi2007.javaeye.com/upload/picture/pic/11837/2c452eef-7436-3571-9f72-8fa56bb95334.jpg" /><br /><img src="http://linliangyi2007.javaeye.com/upload/picture/pic/11839/8d1038eb-810d-3508-a00d-9606ce7797f2.jpg" /><br /><img src="http://linliangyi2007.javaeye.com/upload/picture/pic/11835/49247210-181a-34ee-a74f-6bdad9f14bfc.jpg" />
          <br/>
          <span style="color:red;">
            <a href="http://linliangyi2007.javaeye.com/blog/182217#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/70' target='_blank'><span style="color:red;font-weight:bold;">第二届网络工程师侠客行大会5月24日杭州举行</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 13 Apr 2008 00:43:18 +0800</pubDate>
        <link>http://linliangyi2007.javaeye.com/blog/182217</link>
        <guid>http://linliangyi2007.javaeye.com/blog/182217</guid>
      </item>
          <item>
        <title>三十而立</title>
        <author>linliangyi2007</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://linliangyi2007.javaeye.com">linliangyi2007</a>&nbsp;
                    链接：<a href="http://linliangyi2007.javaeye.com/blog/181974" style="color:red;">http://linliangyi2007.javaeye.com/blog/181974</a>&nbsp;
          发表时间: 2008年04月11日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          这一天，4月11日，来到这个世界上29个春秋了。按中国的传统历法，刚好三十岁正。古圣贤云：三十而立。我呢？<br />   暂时无法回答这个问题，也许是还没有到不惑之年吧，呵呵！在自己看来，算是比上不足比下有余了，是应该感谢上苍，感谢生活的这个社会，跟很多人相比，我是十分幸运的咯。<br />   感谢我最好的朋友，在今天能与我共襄盛举，分享中华盛世！（说大咯，咔咔<img src="/images/smiles/icon_wink.gif"/>）<br />发几张生日照片，分享我的快乐。<br /><br /><img src="http://linliangyi2007.javaeye.com/upload/picture/pic/11763/1053d625-c4b5-3208-90ad-5ef8d328fb25.jpg" /><br />我的生日蛋糕（有福州老乡的话，应该能看懂蛋糕上的字，咔咔）<br /><br /><img src="http://linliangyi2007.javaeye.com/upload/picture/pic/11765/63c51b33-7c02-33d4-a33e-0fc4b604dba1.jpg" /><br />使用自己刚买的数码相机定时照相哒，所以我自己只能跑到大家的背后啦，吼吼！<br /><br /><img src="http://linliangyi2007.javaeye.com/upload/picture/pic/11767/99b1b522-6729-3f3a-90de-132660e7f518.jpg" /><br />来一个远景，怎么样，我的好友都是帅哥美女吧，都说物以类聚，人以群分嘛，哇哈哈哈，我得意的笑～～～
          <br/>
          <span style="color:red;">
            <a href="http://linliangyi2007.javaeye.com/blog/181974#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/70' target='_blank'><span style="color:red;font-weight:bold;">第二届网络工程师侠客行大会5月24日杭州举行</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 11 Apr 2008 23:13:36 +0800</pubDate>
        <link>http://linliangyi2007.javaeye.com/blog/181974</link>
        <guid>http://linliangyi2007.javaeye.com/blog/181974</guid>
      </item>
          <item>
        <title>龙啸--(视频转载)</title>
        <author>linliangyi2007</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://linliangyi2007.javaeye.com">linliangyi2007</a>&nbsp;
                    链接：<a href="http://linliangyi2007.javaeye.com/blog/181560" style="color:red;">http://linliangyi2007.javaeye.com/blog/181560</a>&nbsp;
          发表时间: 2008年04月11日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          不多说了，任何言语在这里都显得苍白，还是看视频吧<br /><br /><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="600" height="450"><param name="movie" value="http://vhead.blog.sina.com.cn/player/outer_player.swf?auto=0&vid=12285861&uid=1404438573" /><param name="quality" value="high" /><param name="menu" value="false" /><param name="wmode" value="" /><embed src="http://vhead.blog.sina.com.cn/player/outer_player.swf?auto=0&vid=12285861&uid=1404438573" wmode="" quality="high" menu="false" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="600" height="450"></embed></object>
          <br/>
          <span style="color:red;">
            <a href="http://linliangyi2007.javaeye.com/blog/181560#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/70' target='_blank'><span style="color:red;font-weight:bold;">第二届网络工程师侠客行大会5月24日杭州举行</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 11 Apr 2008 09:59:13 +0800</pubDate>
        <link>http://linliangyi2007.javaeye.com/blog/181560</link>
        <guid>http://linliangyi2007.javaeye.com/blog/181560</guid>
      </item>
          <item>
        <title>WebGIS空间寻径算法设计（车辆自驾导航算法）</title>
        <author>linliangyi2007</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://linliangyi2007.javaeye.com">linliangyi2007</a>&nbsp;
                    链接：<a href="http://linliangyi2007.javaeye.com/blog/181500" style="color:red;">http://linliangyi2007.javaeye.com/blog/181500</a>&nbsp;
          发表时间: 2008年04月10日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <span style="font-size: large"><strong>一.路网空间模型设计</strong></span><br />    采用有向连通图模型对路网建模<br /><ul><li>A。以道路交叉点作为路网的连通图节点</li><li>B。以从A路点到B路点的单向通路建立有向连线A->B，即普通道路建立A->B，B->A双向连接，单行道建立A->B单向连接</li><li>C。高架桥、地下隧道做独立连接线处理；即，将高架或地下通道的起终点设立为连通图节点，并直接连接起终点，建立连线，中间不设定断点。</li><li>D。在有向线段上设置属性，如：有分隔护栏、禁左转、禁掉头、高速路、城市一级道路、路口有交通灯等</li></ul><br />    路网数据使用MapInfo进行人工采编，并记录道路相关属性。完成数据编辑后，通过EasyLoader导入Oracle Spatial空间数据库。	<br /><br /><span style="font-size: large"><strong>二.空间数据结构设计</strong></span><br />  使用Oracle 10G Spatial存储空间数据结构<br />  <ul><li>A. 从MapInfo导入原始道路线路空间信息表，该表仅描述道路连线的空间数据和连线的道路相关属性，不对道路交叉结点进行描述。</li><li>B。将原始的道路空间数据加工形成有向连通图模型数据</li><li>　B-1 对道路连线数据的起终点进行交叉重叠计算，建立路网结点数据表</li><li>　B-2 以路网结点数据表的结点数据为图点，建立图点间的有向连通线路数据表，并保存道路相关属性</li><li>C. 计算并记录道路连通线的延展方向（向东、向西、向南、向北。。。），以辅助后期自驾中的文字描述（左转、右转、掉头）  </li></ul><br /><br /><span style="font-size: large"><strong>三.寻径算法设计</strong></span>	<br />   结合Dijsk和A*算法，设计寻径模型，根据用户的寻径方案需求（最短路程、高速优先、综合优先），设计相应的寻径评估函数<br />  <ul><li> A.根据道路结点表和道路连线表，建立有向连通图的网状内存模型</li><li> B。设计寻径过程中的条件排除规则（如，禁左，禁调头，有护栏，只走高速路等）</li><li> C。设计寻径过程中的结点优先级排序算法，数据结构及优先级评估判定函数。</li><li> D。设计算法的终止退出判定条件，包括：找到自驾方案；判定无可用方案。</li></ul><br />   <br /><span style="font-size: large"><strong>四。程序实现设计</strong></span><br />   设计实现从用户输入起终点信息查询到获得文字及图形描述自驾方案的程序实现过程。<br /><ul><li>A。根据用户输入关键字，结合分词搜索引擎和空间碰撞算法，查找最合理的起点终点的道路投影。</li><li>B。根据起、终点的道路投影，并结合寻径算法，计算可用的路径方案，生成路径的数学模型描述。</li><li>C。结合起点、重点以及道路的方向、位置等信息，转换生成人可识别的文字信息和路径几何描述。</li><li>D。输出最终文字描述，并在地图图面描绘结果路径。</li></ul><br /><br />参考实现：<a href="http://www.richmap.cn" target="_blank">猎图网 http://www.richmap.cn</a>
          <br/>
          <span style="color:red;">
            <a href="http://linliangyi2007.javaeye.com/blog/181500#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/70' target='_blank'><span style="color:red;font-weight:bold;">第二届网络工程师侠客行大会5月24日杭州举行</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 10 Apr 2008 23:08:17 +0800</pubDate>
        <link>http://linliangyi2007.javaeye.com/blog/181500</link>
        <guid>http://linliangyi2007.javaeye.com/blog/181500</guid>
      </item>
          <item>
        <title>jQuery1.2 API 帮助文档共享</title>
        <author>linliangyi2007</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://linliangyi2007.javaeye.com">linliangyi2007</a>&nbsp;
                    链接：<a href="http://linliangyi2007.javaeye.com/blog/179667" style="color:red;">http://linliangyi2007.javaeye.com/blog/179667</a>&nbsp;
          发表时间: 2008年04月05日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          咖啡我对Java深有感情，但对它的堂兄JavaScript一直讳莫如深！！<img src="/images/smiles/icon_cool.gif"/><br />最近听说了jQuery很适合偶这样的脚本菜鸟学习<img src="/images/smiles/icon_biggrin.gif"/>，于是毫不犹豫的投入其怀抱。<br />找到一制作的很漂亮的API文档，发上来分享一下。
          <br/>
          <span style="color:red;">
            <a href="http://linliangyi2007.javaeye.com/blog/179667#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/70' target='_blank'><span style="color:red;font-weight:bold;">第二届网络工程师侠客行大会5月24日杭州举行</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sat, 05 Apr 2008 15:38:15 +0800</pubDate>
        <link>http://linliangyi2007.javaeye.com/blog/179667</link>
        <guid>http://linliangyi2007.javaeye.com/blog/179667</guid>
      </item>
          <item>
        <title>简明扼要，再谈ThreadLocal和synchronized</title>
        <author>linliangyi2007</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://linliangyi2007.javaeye.com">linliangyi2007</a>&nbsp;
                    链接：<a href="http://linliangyi2007.javaeye.com/blog/179040" style="color:red;">http://linliangyi2007.javaeye.com/blog/179040</a>&nbsp;
          发表时间: 2008年04月03日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          昨天上Java版块逛了一圈，一个2万5千人浏览的帖子引起了偶滴注意 <a href="http://www.javaeye.com/topic/81936" target="_blank">ThreadLocal与synchronized </a>，9页以上的回复，足见大家对这个问题的兴趣。<br /><br />     老实说，从看到这个帖子的题目开始，就觉得帖子的作者估计是在概念上有所混淆了,于是乎想写个咚咚，同大家分享一下自己的心得。<br /><br />     帖子上，讨论的人很多，高手不乏，各抒己见，但不知新手们看明白没有，因此，这里偶以最简洁列表方式来说一说相关问题。<br /><br /><span style="font-size: large"><strong>1．区别ThreadLocal 与 synchronized</strong></span><br /><ul><li>ThreadLocal是一个线程隔离(或者说是线程安全)的变量存储的管理实体（注意：不是存储用的），它以Java类方式表现；</li><li>synchronized是Java的一个保留字，只是一个代码标识符，它依靠JVM的锁机制来实现临界区的函数、变量在CPU运行访问中的原子性。</li></ul>两者的性质、表现及设计初衷不同，因此没有可比较性。<br /><br /><span style="font-size: large"><strong>2.理解ThreadLocal中提到的变量副本</strong></span><br />    事实上，我们向ThreadLocal中set的变量不是由ThreadLocal来存储的，而是Thread线程对象自身保存。当用户调用ThreadLocal对象的set(Object o)时，该方法则通过Thread.currentThread()获取当前线程，将变量存入Thread中的一个Map内，而Map的Key就是当前的ThreadLocal实例。请看源码，这是最主要的两个函数，能看出ThreadLocal与Thread的调用关系：<br /><pre name="code" class="java">
public void set(T value) {
        Thread t = Thread.currentThread();
        ThreadLocalMap map = getMap(t);
        if (map != null)
            map.set(this, value);
        else
            createMap(t, value);
}

ThreadLocalMap getMap(Thread t) {
        return t.threadLocals;
}
</pre><br />（有兴趣的朋友可以阅读Java的ThreadLocal源码）因此，我们可以知道，所谓的变量副本，即是对Object Reference（对象引用）的拷贝。<br /><br /><span style="font-size: large"><strong>3.理解Thread和 ThreadLocal对变量的引用关系</strong></span><br />    实际上Thread和ThreadLocal对变量引用关系就像是坐标系中的X轴和Y轴，是从两个维度上来组织对变量的引用的。<br /><ul><li>首先说Thread。</li>    我们知道一个ThreadOne的执行会贯穿多个方法MethodA、MethodB、MethodC这些方法可能分布于不同的类实例。假设，这些方法分别使用了ThreadLocalA、ThreadLocalB、ThreadLocalC来保存线程本地变量，那么这些变量都存于ThreadOne的Map中，并使用各自的ThreadLocal实例作为key。 因此，可以认为，借助ThreanLocal的set方法，在X轴上，Thread横向关联同一线程上下文中来自多个Method的变量引用副本。<br /></ul><br /><img src="http://linliangyi2007.javaeye.com/upload/picture/pic/11104/755f733b-436d-3c29-b8a4-bec5ced4a6ae.png" /><br /><br /><ul><li>接着说ThreadLocal。</li>    一个MethodA中的X变量将被多个线程ThreadOne、ThreadTwo、ThreadThree所访问。假设MethodA使用ThreadLocal存储X，通过set方法，以ThreadLocal作为key值，将不同线程来访时的不同的变量值引用保存于ThreadOne、ThreadTwo、ThreadThree的各自线程上下文中，确保每个线程有自己的一个变量值。因此，可以认为，ThreadLocal是以Method为Y轴，纵向关联了处于同一方法中的不同线程上的变量。<br /></ul><br /><img src="http://linliangyi2007.javaeye.com/upload/picture/pic/11106/ecf89049-2026-3bfa-b97a-28ac711719cf.png" /><br /><br />希望能对大家有所帮助，这样可以少走很多弯路哦。
          <br/>
          <span style="color:red;">
            <a href="http://linliangyi2007.javaeye.com/blog/179040#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/70' target='_blank'><span style="color:red;font-weight:bold;">第二届网络工程师侠客行大会5月24日杭州举行</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 03 Apr 2008 01:43:50 +0800</pubDate>
        <link>http://linliangyi2007.javaeye.com/blog/179040</link>
        <guid>http://linliangyi2007.javaeye.com/blog/179040</guid>
      </item>
          <item>
        <title>很“水产”的史前一万年</title>
        <author>linliangyi2007</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://linliangyi2007.javaeye.com">linliangyi2007</a>&nbsp;
                    链接：<a href="http://linliangyi2007.javaeye.com/blog/176407" style="color:red;">http://linliangyi2007.javaeye.com/blog/176407</a>&nbsp;
          发表时间: 2008年03月26日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          一个多月的忙碌下来，终于有时间放松一些，听说最近正在上映大片，就积极的前往影院观摩！<br /><br />都说《史前》的导演也是《后天》的那一位GG，因此潜意识中总抱着看科幻片的期待。<br />看完之后的感觉是——接受了一次与时俱进的爱国主义教育。<br /><br />老觉得片中的那位“神明”就是最近搞得吐蕃不得安宁的番僧“鸠摩智”，下面是一堆很土很暴力的打手和在农奴制度下受苦受难的各部落、各民族兄弟姐妹啊～～～<br /><br />而且，最后杀死“神明”后，农奴翻身做主人的场面，各个部落在一起的庆祝，更是像极了当今朝廷积极宣传的“水产”精神。<br /><br />可以说这部电影播的真是时候，貌似对华夏大地的《后天》的某种预言。难道也学无极。。。！
          <br/>
          <span style="color:red;">
            <a href="http://linliangyi2007.javaeye.com/blog/176407#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/70' target='_blank'><span style="color:red;font-weight:bold;">第二届网络工程师侠客行大会5月24日杭州举行</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 26 Mar 2008 16:51:13 +0800</pubDate>
        <link>http://linliangyi2007.javaeye.com/blog/176407</link>
        <guid>http://linliangyi2007.javaeye.com/blog/176407</guid>
      </item>
          <item>
        <title>jBPM-jPDL学习笔记—框架设计简介(六)</title>
        <author>linliangyi2007</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://linliangyi2007.javaeye.com">linliangyi2007</a>&nbsp;
                    链接：<a href="http://linliangyi2007.javaeye.com/blog/176359" style="color:red;">http://linliangyi2007.javaeye.com/blog/176359</a>&nbsp;
          发表时间: 2008年03月26日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>&nbsp;</p><p>上接 <a href="../../../blog/176356">jBPM-jPDL学习笔记&mdash;框架设计简介(五)</a></p><h4 style="margin: 14pt 0cm 14.5pt; text-align: left" align="left"><span style="font-size: 10.5pt; line-height: 156%"><span style="font-family: Cambria">&lt;handler&gt;(</span></span><span style="font-size: 10.5pt; line-height: 156%; font-family: 宋体">处理器</span><span style="font-size: 10.5pt; line-height: 156%"><span style="font-family: Cambria">)</span><a name="handler.schema" title="handler.schema"></a></span></h4><table border="1" cellspacing="0" cellpadding="0" width="100%" class="MsoTableMediumShading1Accent3" style="width: 100%; border-collapse: collapse; border: medium none"><tbody><tr><td valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #b3cc82 1pt solid; padding-left: 5.4pt; background: #9bbb59; padding-bottom: 0cm; border-left: #b3cc82 1pt solid; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><strong><span style="color: white; line-height: 150%; font-family: 宋体">名称</span></strong></span></td><td width="10%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #b3cc82 1pt solid; padding-left: 5.4pt; background: #9bbb59; padding-bottom: 0cm; border-left: #f4f4f4; width: 10.98%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><strong><span style="color: white; line-height: 150%; font-family: 宋体">类型</span></strong></span></td><td width="14%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #b3cc82 1pt solid; padding-left: 5.4pt; background: #9bbb59; padding-bottom: 0cm; border-left: #f4f4f4; width: 14.94%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><strong><span style="color: white; line-height: 150%; font-family: 宋体">多样性</span></strong></span></td><td width="58%" valign="top" style="border-right: #b3cc82 1pt solid; padding-right: 5.4pt; border-top: #b3cc82 1pt solid; padding-left: 5.4pt; background: #9bbb59; padding-bottom: 0cm; border-left: #f4f4f4; width: 58.82%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><strong><span style="color: white; line-height: 150%; font-family: 宋体">描述</span></strong></span></td></tr><tr><td valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #b3cc82 1pt solid; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><strong><span style="font-family: 'Cambria','serif'">expression</span></strong></span></td><td width="10%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #f4f4f4; width: 10.98%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><span style="font-family: 宋体">属性</span></span></td><td width="14%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #f4f4f4; width: 14.94%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><span style="font-family: 宋体">此属性同</span><span style="font-family: 'Cambria','serif'">class</span><span style="font-family: 宋体">属性互斥</span></span></td><td width="58%" valign="top" style="border-right: #b3cc82 1pt solid; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #f4f4f4; width: 58.82%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><span style="font-family: 'Cambria','serif'">jPDL</span><span style="font-family: 宋体">表达式。该表达式返回字符串结果，与</span><span style="font-family: 'Cambria','serif'">leaving transitions</span><span style="font-family: 宋体">的命名相匹配</span></span></td></tr><tr><td valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #b3cc82 1pt solid; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><strong><span style="font-family: 'Cambria','serif'">class</span></strong></span></td><td width="10%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f4f4f4; width: 10.98%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><span style="font-family: 宋体">属性</span></span></td><td width="14%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f4f4f4; width: 14.94%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><span style="font-family: 宋体">此属性同</span><span style="font-family: 'Cambria','serif'">expression</span><span style="font-family: 宋体">属性互斥</span></span></td><td width="58%" valign="top" style="border-right: #b3cc82 1pt solid; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f4f4f4; width: 58.82%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-family: 宋体"><span style="font-size: small">实现接口</span></span><span style="color: #111111"><span style="font-size: 11pt; font-family: 'Cambria','serif'">org.jbpm.graph.node.DecisionHandler</span><span style="font-size: 11pt"><span style="font-family: 宋体">的</span></span><span style="font-size: 11pt; font-family: 'Cambria','serif'">Java</span><span style="font-size: 11pt"><span style="font-family: 宋体">类的完整类名</span></span></span><span style="font-size: small"><span style="font-family: 'Cambria','serif'">. </span></span></td></tr><tr><td valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #b3cc82 1pt solid; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><strong><span style="font-family: 'Cambria','serif'">config-type</span></strong></span></td><td width="10%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #f4f4f4; width: 10.98%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><span style="font-family: 宋体">属性</span></span></td><td width="14%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #f4f4f4; width: 14.94%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><span style="font-family: 宋体">可选</span></span></td><td width="58%" valign="top" style="border-right: #b3cc82 1pt solid; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #f4f4f4; width: 58.82%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-family: 宋体"><span style="font-size: small">对</span></span><span style="font-size: 11pt; font-family: 'Cambria','serif'"><span style="color: #111111">DecisionHandler</span></span><span style="font-family: 宋体"><span style="font-size: small">实现类的初始化方式，可选值有：</span></span><span style="font-family: 'Cambria','serif'"><br /><span style="font-size: small">{field|bean|constructor|configuration-property}.</span></span></td></tr><tr><td valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #b3cc82 1pt solid; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><strong><span style="font-family: 'Cambria','serif'">&nbsp;</span></strong></span></td><td width="10%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f4f4f4; width: 10.98%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><span style="font-family: 'Cambria','serif'">{</span><span style="font-family: 宋体">内容</span><span style="font-family: 'Cambria','serif'">}</span></span></td><td width="14%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f4f4f4; width: 14.94%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><span style="font-family: 宋体">可选</span></span></td><td width="58%" valign="top" style="border-right: #b3cc82 1pt solid; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f4f4f4; width: 58.82%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><span style="font-family: 'Cambria','serif'">handler</span><span style="font-family: 宋体">标签体中的内容，作为初始化参数用来初始化</span></span><span style="font-size: 11pt; font-family: 'Cambria','serif'"><span style="color: #111111">DecisionHandler</span></span><span style="font-size: small"><span style="font-family: 宋体">的实现类</span><span style="font-family: 'Cambria','serif'">.</span></span></td></tr></tbody></table><h4 style="margin: 14pt 0cm 14.5pt; text-align: left" align="left"><span style="font-size: 10.5pt; line-height: 156%"><span style="font-family: Cambria">&lt;task&gt;(</span></span><span style="font-size: 10.5pt; line-height: 156%; font-family: 宋体">任务</span><span style="font-size: 10.5pt; line-height: 156%"><span style="font-family: Cambria">)</span><a name="task.schema" title="task.schema"></a></span></h4><table border="1" cellspacing="0" cellpadding="0" width="100%" class="MsoTableMediumShading1Accent3" style="border-collapse: collapse; border: medium none"><tbody><tr><td width="19%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #b3cc82 1pt solid; padding-left: 5.4pt; background: #9bbb59; padding-bottom: 0cm; border-left: #b3cc82 1pt solid; width: 19.58%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><strong><span style="color: white; line-height: 150%; font-family: 宋体">名称</span></strong></span></td><td width="8%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #b3cc82 1pt solid; padding-left: 5.4pt; background: #9bbb59; padding-bottom: 0cm; border-left: #f4f4f4; width: 8.84%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><strong><span style="color: white; line-height: 150%; font-family: 宋体">类型</span></strong></span></td><td width="14%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #b3cc82 1pt solid; padding-left: 5.4pt; background: #9bbb59; padding-bottom: 0cm; border-left: #f4f4f4; width: 14.46%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><strong><span style="color: white; line-height: 150%; font-family: 宋体">多样性</span></strong></span></td><td width="57%" valign="top" style="border-right: #b3cc82 1pt solid; padding-right: 5.4pt; border-top: #b3cc82 1pt solid; padding-left: 5.4pt; background: #9bbb59; padding-bottom: 0cm; border-left: #f4f4f4; width: 57.14%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><strong><span style="color: white; line-height: 150%; font-family: 宋体">描述</span></strong></span></td></tr><tr><td width="19%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #b3cc82 1pt solid; width: 19.58%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><strong><span style="font-family: 'Cambria','serif'">name</span></strong></span></td><td width="8%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #f4f4f4; width: 8.84%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><span style="font-family: 宋体">属性</span></span></td><td width="14%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #f4f4f4; width: 14.46%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><span style="font-family: 宋体">可选</span></span></td><td width="57%" valign="top" style="border-right: #b3cc82 1pt solid; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #f4f4f4; width: 57.14%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><span style="font-family: 'Cambria','serif'">task</span><span style="font-family: 宋体">的名称。该名称可以被查找和引用</span><span style="font-family: 'Cambria','serif'">task</span><span style="font-family: 宋体">对象。</span></span></td></tr><tr><td width="19%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #b3cc82 1pt solid; width: 19.58%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><strong><span style="font-family: 'Cambria','serif'">blocking</span></strong></span></td><td width="8%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f4f4f4; width: 8.84%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><span style="font-family: 宋体">属性</span></span></td><td width="14%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f4f4f4; width: 14.46%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><span style="font-family: 宋体">可选</span></span></td><td width="57%" valign="top" style="border-right: #b3cc82 1pt solid; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f4f4f4; width: 57.14%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><span style="font-family: 宋体">可选值为：</span><span style="font-family: 'Cambria','serif'">{yes|no|true|false}, </span><span style="font-family: 宋体">默认值为</span><span style="font-family: 'Cambria','serif'">false.</span></span><span style="font-size: small"><span style="font-family: 宋体">如果该属性被设置为</span><span style="font-family: 'Cambria','serif'">true</span><span style="font-family: 宋体">，则在没有完成任务前，流程不能离开此结点</span></span><span style="font-size: small"><span style="font-family: 宋体">如果是</span><span style="font-family: 'Cambria','serif'">true</span><span style="font-family: 宋体">，那么</span><span style="font-family: 'Cambria','serif'">token</span><span style="font-family: 宋体">对象的</span><span style="font-family: 'Cambria','serif'">signal</span><span style="font-family: 宋体">方法将促使流程向下继续。</span></span><span style="font-size: small"><span style="font-family: 宋体">大多情况下，强制中断流程会有客户操作界面发起。</span></span></td></tr><tr><td width="19%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #b3cc82 1pt solid; width: 19.58%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><strong><span style="font-family: 'Cambria','serif'">signalling</span></strong></span></td><td width="8%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #f4f4f4; width: 8.84%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><span style="font-family: 宋体">属性</span></span></td><td width="14%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #f4f4f4; width: 14.46%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><span style="font-family: 宋体">可选</span></span></td><td width="57%" valign="top" style="border-right: #b3cc82 1pt solid; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #f4f4f4; width: 57.14%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><span style="font-family: 宋体">可选值为：</span><span style="font-family: 'Cambria','serif'">{yes|no|true|false}, </span><span style="font-family: 宋体">默认值为</span><span style="font-family: 'Cambria','serif'">true.</span></span><span style="font-size: small"><span style="font-family: 宋体">如果设置为</span><span style="font-family: 'Cambria','serif'">false</span><span style="font-family: 宋体">，则任务将失去触发流程继续下行的能力。</span><span style="font-family: 'Cambria','serif'"> </span></span></td></tr><tr><td width="19%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #b3cc82 1pt solid; width: 19.58%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><strong><span style="font-family: 'Cambria','serif'">duedate</span></strong></span></td><td width="8%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f4f4f4; width: 8.84%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><span style="font-family: 宋体">属性</span></span></td><td width="14%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f4f4f4; width: 14.46%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><span style="font-family: 宋体">可选</span></span></td><td width="57%" valign="top" style="border-right: #b3cc82 1pt solid; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f4f4f4; width: 57.14%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><span style="font-family: 宋体">任务的持续时间。可以用绝对时间或工作日两种计量方式表示。</span></span></td></tr><tr><td width="19%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #b3cc82 1pt solid; width: 19.58%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><strong><span style="font-family: 'Cambria','serif'">swimlane</span></strong></span></td><td width="8%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #f4f4f4; width: 8.84%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><span style="font-family: 宋体">属性</span></span></td><td width="14%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #f4f4f4; width: 14.46%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><span style="font-family: 宋体">可选</span></span></td><td width="57%" valign="top" style="border-right: #b3cc82 1pt solid; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #f4f4f4; width: 57.14%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><span style="font-family: 宋体">对</span><span style="font-family: 'Cambria','serif'">swimlane</span><span style="font-family: 宋体">的引用</span><span style="font-family: 'Cambria','serif'">.</span><span style="font-family: 宋体">当一个</span><span style="font-family: 'Cambria','serif'">swimlane </span><span style="font-family: 宋体">被赋予任务的时候，</span><span style="font-family: 'Cambria','serif'"> assignment</span><span style="font-family: 宋体">属性将被忽略。</span></span></td></tr><tr><td width="19%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #b3cc82 1pt solid; width: 19.58%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><strong><span style="font-family: 'Cambria','serif'">priority</span></strong></span></td><td width="8%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f4f4f4; width: 8.84%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><span style="font-family: 宋体">属性</span></span></td><td width="14%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f4f4f4; width: 14.46%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><span style="font-family: 宋体">可选</span></span></td><td width="57%" valign="top" style="border-right: #b3cc82 1pt solid; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f4f4f4; width: 57.14%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><span style="font-family: 宋体">优先级。</span></span><span style="font-size: small"><span style="font-family: 宋体">可选值：</span><span style="font-family: 'Cambria','serif'">{highest, high, normal, low, lowest}. </span><span style="font-family: 宋体">另一种表达方式可以用整数，如：</span><span style="font-family: 'Cambria','serif'">{highest=1, lowest=5)</span></span></td></tr><tr><td width="19%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #b3cc82 1pt solid; width: 19.58%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><strong><span style="font-family: 'Cambria','serif'">assignment</span></strong></span></td><td width="8%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #f4f4f4; width: 8.84%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><span style="font-family: 宋体">元素</span></span></td><td width="14%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #f4f4f4; width: 14.46%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><span style="font-family: 宋体">可选</span></span></td><td width="57%" valign="top" style="border-right: #b3cc82 1pt solid; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #f4f4f4; width: 57.14%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><span style="font-family: 宋体">为</span><span style="font-family: 'Cambria','serif'">task</span><span style="font-family: 宋体">委派一个参与者。</span></span></td></tr><tr><td width="19%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #b3cc82 1pt solid; width: 19.58%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><strong><span style="font-family: 'Cambria','serif'">event</span></strong></span></td><td width="8%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f4f4f4; width: 8.84%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><span style="font-family: 宋体">元素</span></span></td><td width="14%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f4f4f4; width: 14.46%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><span style="font-family: 'Cambria','serif'">[0..*]</span></span></td><td width="57%" valign="top" style="border-right: #b3cc82 1pt solid; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f4f4f4; width: 57.14%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-family: 宋体"><span style="font-size: small">支持的事件类型有：</span></span><span style="font-family: 'Cambria','serif'"><br /><span style="font-size: small"><span>&nbsp;</span>{task-create|task-start|task-assign|task-end}. </span></span><span style="font-family: 宋体"><span style="font-size: small">特别要指出的是，我们在</span></span><span style="font-size: 11pt; font-family: 'Cambria','serif'"><span style="color: #111111">task-assign</span></span><span style="font-size: small"><span style="font-family: 'Cambria','serif'"> </span><span style="font-family: 宋体">事件上为任务实例添加了一个非持久化的属性</span></span><span style="font-size: 11pt; font-family: 'Cambria','serif'"><span style="color: #111111">previousActorId</span></span><span style="font-size: small"><span style="font-family: 'Cambria','serif'"> </span></span></td></tr><tr><td width="19%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #b3cc82 1pt solid; width: 19.58%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><strong><span style="font-family: 'Cambria','serif'">exception-handler</span></strong></span></td><td width="8%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #f4f4f4; width: 8.84%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><span style="font-family: 宋体">元素</span></span></td><td width="14%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #f4f4f4; width: 14.46%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><span style="font-family: 'Cambria','serif'">[0..*]</span></span></td><td width="57%" valign="top" style="border-right: #b3cc82 1pt solid; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #f4f4f4; width: 57.14%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><span style="font-family: 宋体">对委派类异常的处理者</span></span></td></tr><tr><td width="19%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #b3cc82 1pt solid; width: 19.58%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><strong><span style="font-family: 'Cambria','serif'">timer</span></strong></span></td><td width="8%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f4f4f4; width: 8.84%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><span style="font-family: 宋体">元素</span></span></td><td width="14%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f4f4f4; width: 14.46%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><span style="font-family: 'Cambria','serif'">[0..*]</span></span></td><td width="57%" valign="top" style="border-right: #b3cc82 1pt solid; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f4f4f4; width: 57.14%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><span style="font-family: 宋体">为任务的执行过程指定一个计时器，监视任务的执行。</span></span><span style="font-size: small"><span style="font-family: 宋体">这里我们可以利用</span><span style="font-family: 'Cambria','serif'"> </span></span><span style="font-size: 11pt; font-family: 'Cambria','serif'"><span style="color: #111111">cancel-event</span></span><span style="font-size: small"><span style="font-family: 'Cambria','serif'"> </span><span style="font-family: 宋体">同计时器挂钩来做一些特定的事。默认情况下，</span><span style="font-family: 'Cambria','serif'"> </span></span><span style="color: #111111"><span style="font-size: 11pt; font-family: 'Cambria','serif'">cancel-event</span><span style="font-size: 11pt"><span style="font-family: 宋体">会结束任务，但我们可以将它定制为任务分配或者任务开始</span></span></span><span style="font-size: small"><span style="font-family: 宋体">。</span><span style="font-family: 'Cambria','serif'"> </span></span></td></tr><tr><td width="19%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #b3cc82 1pt solid; width: 19.58%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><strong><span style="font-family: 'Cambria','serif'">controller</span></strong></span></td><td width="8%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #f4f4f4; width: 8.84%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><span style="font-family: 宋体">元素</span></span></td><td width="14%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #f4f4f4; width: 14.46%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><span style="font-family: 'Cambria','serif'">[0..1]</span></span></td><td width="57%" valign="top" style="border-right: #b3cc82 1pt solid; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #f4f4f4; width: 57.14%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><span style="font-family: 宋体">指定如果将过程变量转换成任务表单参数以提供给用户交互界面</span><span style="font-family: 'Cambria','serif'"> </span></span></td></tr></tbody></table><h4 style="margin: 14pt 0cm 14.5pt; text-align: left" align="left"><a name="swimlane.element" title="swimlane.element"></a><a name="assignment.element" title="assignment.element"></a><span style="font-size: 10.5pt; line-height: 156%"><span style="font-family: Cambria">&lt;assignment&gt;(</span></span><span style="font-size: 10.5pt; line-height: 156%; font-family: 宋体">分配</span><span style="font-size: 10.5pt; line-height: 156%"><span style="font-family: Cambria">)</span><a name="assignment.schema" title="assignment.schema"></a></span></h4><table border="1" cellspacing="0" cellpadding="0" width="100%" class="MsoTableMediumShading1Accent3" style="width: 100%; border-collapse: collapse; border: medium none"><tbody><tr><td valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #b3cc82 1pt solid; padding-left: 5.4pt; background: #9bbb59; padding-bottom: 0cm; border-left: #b3cc82 1pt solid; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><strong><span style="color: white; line-height: 150%; font-family: 宋体">名称</span></strong></span></td><td width="9%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #b3cc82 1pt solid; padding-left: 5.4pt; background: #9bbb59; padding-bottom: 0cm; border-left: #f4f4f4; width: 9.66%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><strong><span style="color: white; line-height: 150%; font-family: 宋体">类型</span></strong></span></td><td width="14%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #b3cc82 1pt solid; padding-left: 5.4pt; background: #9bbb59; padding-bottom: 0cm; border-left: #f4f4f4; width: 14.98%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><strong><span style="color: white; line-height: 150%; font-family: 宋体">多样性</span></strong></span></td><td width="57%" valign="top" style="border-right: #b3cc82 1pt solid; padding-right: 5.4pt; border-top: #b3cc82 1pt solid; padding-left: 5.4pt; background: #9bbb59; padding-bottom: 0cm; border-left: #f4f4f4; width: 57.14%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><strong><span style="color: white; line-height: 150%; font-family: 宋体">描述</span></strong></span></td></tr><tr><td valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #b3cc82 1pt solid; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><strong><span style="font-family: 'Cambria','serif'">expression</span></strong></span></td><td width="9%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #f4f4f4; width: 9.66%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><span style="font-family: 宋体">属性</span></span></td><td width="14%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #f4f4f4; width: 14.98%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><span style="font-family: 宋体">可选</span></span></td><td width="57%" valign="top" style="border-right: #b3cc82 1pt solid; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #f4f4f4; width: 57.14%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><span style="font-family: 宋体">由于历史原因，这里的</span><span style="font-family: 'Cambria','serif'">expression</span><span style="font-family: 宋体">不是指</span><span style="font-family: 'Cambria','serif'">jPDL </span><span style="font-family: 宋体">表达式，而是指</span><span style="font-family: 'Cambria','serif'">jBPM </span><span style="font-family: 宋体">身份组件中的表达式，详细参考</span><span><a href="http://docs.jboss.com/jbpm/v3/userguide/taskmanagement.html#assignmentexpressions" title="11.11.2.&nbsp;Assignment expressions"><span style="font-family: 'Cambria','serif'"><span style="color: #800080">Section&nbsp;11.11.2, &ldquo;Assignment expressions&rdquo;</span></span></a></span><span style="font-family: 'Cambria','serif'">. </span></span><span style="font-size: small"><span style="font-family: 宋体">注意，该属性必须依赖于</span><span style="font-family: 'Cambria','serif'">jbpm</span><span style="font-family: 宋体">身份组件</span><span style="font-family: 'Cambria','serif'"> </span></span></td></tr><tr><td valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #b3cc82 1pt solid; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><strong><span style="font-family: 'Cambria','serif'">actor-id</span></strong></span></td><td width="9%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f4f4f4; width: 9.66%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><span style="font-family: 宋体">属性</span></span></td><td width="14%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f4f4f4; width: 14.98%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><span style="font-family: 宋体">可选</span></span></td><td width="57%" valign="top" style="border-right: #b3cc82 1pt solid; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f4f4f4; width: 57.14%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><span style="font-family: 宋体">参与者</span><span style="font-family: 'Cambria','serif'">ID. </span><span style="font-family: 宋体">该属性可以与</span><span style="font-family: 'Cambria','serif'">pooled-actors</span><span style="font-family: 宋体">属性联合使用。</span></span><span style="font-size: small"><span style="font-family: 宋体">可以设计一个表达式来替代；也可以设定一个固定值；</span><span style="font-family: 'Cambria','serif'"> </span><span style="font-family: 宋体">又或者指定一个属性或方法，返回一个诸如</span></span><span style="color: #111111"><strong><span style="font-size: 11pt; font-family: 'Cambria','serif'">actor-id=&quot;myVar.actorId&quot;</span></strong><span style="font-size: 11pt"><span style="font-family: 宋体">的字符窜</span></span></span><span style="font-size: small"><span style="font-family: 'Cambria','serif'">,</span><span style="font-family: 宋体">这里</span><span style="font-family: 'Cambria','serif'"> <span>myVar </span></span><span style="font-family: 宋体">是一个任务实例对象，它将调用方法</span><span style="font-family: 'Cambria','serif'">getActorId </span><span style="font-family: 宋体">返回真实的</span><span style="font-family: 'Cambria','serif'">actor-id</span></span></td></tr><tr><td valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #b3cc82 1pt solid; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><strong><span style="font-family: 'Cambria','serif'">pooled-actors</span></strong></span></td><td width="9%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #f4f4f4; width: 9.66%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><span style="font-family: 宋体">属性</span></span></td><td width="14%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #f4f4f4; width: 14.98%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><span style="font-family: 宋体">可选</span></span></td><td width="57%" valign="top" style="border-right: #b3cc82 1pt solid; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #f4f4f4; width: 57.14%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><span style="font-family: 宋体">一个由逗号分隔的参与者</span><span style="font-family: 'Cambria','serif'">ID</span><span style="font-family: 宋体">列表</span><span style="font-family: 'Cambria','serif'">.</span><span style="font-family: 宋体">一个固定的列表，诸如：</span><span style="font-family: 'Cambria','serif'"> </span></span><span style="font-size: 11pt; font-family: 'Cambria','serif'"><span style="color: #111111">pooled-actors=&quot;chicagobulls, pointersisters&quot;</span></span><span style="font-size: small"><span style="font-family: 'Cambria','serif'">. </span><span style="font-family: 宋体">又或者使用表达式返回。</span></span><span style="font-size: small"><span style="font-family: 宋体">还可以引用一个属性或方法，返回字符串数组变量、集合变量以及用逗号分隔的字窜来表达参与者集合。</span><span style="font-family: 'Cambria','serif'"> </span></span></td></tr><tr><td valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #b3cc82 1pt solid; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><strong><span style="font-family: 'Cambria','serif'">class</span></strong></span></td><td width="9%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f4f4f4; width: 9.66%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><span style="font-family: 宋体">属性</span></span></td><td width="14%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f4f4f4; width: 14.98%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><span style="font-family: 宋体">可选</span></span></td><td width="57%" valign="top" style="border-right: #b3cc82 1pt solid; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f4f4f4; width: 57.14%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><span style="font-family: 宋体">实现</span><span style="font-family: 'Cambria','serif'"> </span></span><span style="color: #111111"><span style="font-size: 11pt; font-family: 'Cambria','serif'">org.jbpm.taskmgmt.def.AssignmentHandler</span><span style="font-size: 11pt"><span style="font-family: 宋体">接口的</span></span><span style="font-size: 11pt; font-family: 'Cambria','serif'">Java</span><span style="font-family: 宋体"><span style="font-size: 11pt">类全名</span></span></span></td></tr><tr><td valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #b3cc82 1pt solid; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><strong><span style="font-family: 'Cambria','serif'">config-type</span></strong></span></td><td width="9%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #f4f4f4; width: 9.66%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><span style="font-family: 宋体">属性</span></span></td><td width="14%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #f4f4f4; width: 14.98%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><span style="font-family: 宋体">可选</span></span></td><td width="57%" valign="top" style="border-right: #b3cc82 1pt solid; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #f4f4f4; width: 57.14%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-family: 宋体"><span style="font-size: small">对</span></span><span style="font-size: 11pt; font-family: 'Cambria','serif'"><span style="color: #111111">AssignmentHandler</span></span><span style="font-family: 宋体"><span style="font-size: small">实现类的初始化方式，可选值有：</span></span><span style="font-family: 'Cambria','serif'"><br /><span style="font-size: small">{field|bean|constructor|configuration-property}.</span></span></td></tr><tr><td valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #b3cc82 1pt solid; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><strong><span style="font-family: 'Cambria','serif'">&nbsp;</span></strong></span></td><td width="9%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f4f4f4; width: 9.66%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><span style="font-family: 'Cambria','serif'">{</span><span style="font-family: 宋体">内容</span><span style="font-family: 'Cambria','serif'">}</span></span></td><td width="14%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f4f4f4; width: 14.98%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><span style="font-family: 宋体">可选</span></span></td><td width="57%" valign="top" style="border-right: #b3cc82 1pt solid; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f4f4f4; width: 57.14%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-family: 宋体"><span style="font-size: small">作为初始化参数用来初始化</span></span><span style="font-size: 11pt; font-family: 'Cambria','serif'"><span style="color: #111111">AssignmentHandler</span></span><span style="font-size: small"><span style="font-family: 宋体">的实现类</span><span style="font-family: 'Cambria','serif'">.</span></span></td></tr></tbody></table><a name="controller.element" title="controller.element"></a><span><span style="font-size: small; font-family: Times New Roman">&nbsp;</span></span> <p>&nbsp;</p><p>（全文完）</p><p>&nbsp;</p><p><span style="font-family: 宋体"><span style="font-size: medium"><strong>相关资料：</strong></span></span></p><p><span style="font-family: 宋体"></span></p><p style="margin: 0cm 0cm 0pt; line-height: 150%" class="MsoNormal"><span style="font-size: small"><a href="../../../blog/176339" target="_blank"><span style="font-family: 宋体">《</span><span><span style="font-family: Times New Roman">jBPM</span></span><span style="font-family: 宋体">学习笔记</span><span><span style="font-family: Times New Roman">(V3.2</span></span><span style="font-family: 宋体">环境部署</span><span><span style="font-family: Times New Roman">)</span></span><span style="font-family: 宋体">》</span></a></span></p><p style="margin: 0cm 0cm 0pt; line-height: 150%" class="MsoNormal"><span style="font-size: small"><a href="../../../blog/176345" target="_blank"><span style="font-family: 宋体">《</span><span><span style="font-family: Times New Roman">jBPM</span></span><span style="font-family: 宋体">学习笔记</span><span><span style="font-family: Times New Roman">(</span></span><span style="font-family: 宋体">流程设计与控制</span><span><span style="font-family: Times New Roman">)</span></span><span style="font-family: 宋体">》</span></a></span></p><p>&nbsp;</p>
          <br/>
          <span style="color:red;">
            <a href="http://linliangyi2007.javaeye.com/blog/176359#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/70' target='_blank'><span style="color:red;font-weight:bold;">第二届网络工程师侠客行大会5月24日杭州举行</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 26 Mar 2008 15:31:10 +0800</pubDate>
        <link>http://linliangyi2007.javaeye.com/blog/176359</link>
        <guid>http://linliangyi2007.javaeye.com/blog/176359</guid>
      </item>
          <item>
        <title>jBPM-jPDL学习笔记—框架设计简介(五)</title>
        <author>linliangyi2007</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://linliangyi2007.javaeye.com">linliangyi2007</a>&nbsp;
                    链接：<a href="http://linliangyi2007.javaeye.com/blog/176356" style="color:red;">http://linliangyi2007.javaeye.com/blog/176356</a>&nbsp;
          发表时间: 2008年03月26日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <br />上接 <a href="../../../blog/176352">jBPM-jPDL学习笔记&mdash;框架设计简介(四)</a> <br /><br /><h4 style="margin: 14pt 0cm 14.5pt; text-align: left" align="left"><span style="font-size: 10.5pt; line-height: 156%"><span style="font-family: Cambria">&lt;decision&gt;(</span></span><span style="font-size: 10.5pt; line-height: 156%; font-family: 宋体">判定结点</span><span style="font-size: 10.5pt; line-height: 156%"><span style="font-family: Cambria">)</span></span></h4><table border="1" cellspacing="0" cellpadding="0" width="100%" class="MsoTableMediumShading1Accent3" style="width: 100%; border-collapse: collapse; border: medium none"><tbody><tr><td width="17%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #b3cc82 1pt solid; padding-left: 5.4pt; background: #9bbb59; padding-bottom: 0cm; border-left: #b3cc82 1pt solid; width: 17.9%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><a name="decision.schema" title="decision.schema"></a><span style="font-size: small"><strong><span style="color: white; line-height: 150%; font-family: 宋体">名称</span></strong></span></td><td width="11%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #b3cc82 1pt solid; padding-left: 5.4pt; background: #9bbb59; padding-bottom: 0cm; border-left: #f4f4f4; width: 11.8%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><strong><span style="color: white; line-height: 150%; font-family: 宋体">类型</span></strong></span></td><td width="21%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #b3cc82 1pt solid; padding-left: 5.4pt; background: #9bbb59; padding-bottom: 0cm; border-left: #f4f4f4; width: 21.48%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><strong><span style="color: white; line-height: 150%; font-family: 宋体">多样性</span></strong></span></td><td width="48%" valign="top" style="border-right: #b3cc82 1pt solid; padding-right: 5.4pt; border-top: #b3cc82 1pt solid; padding-left: 5.4pt; background: #9bbb59; padding-bottom: 0cm; border-left: #f4f4f4; width: 48.8%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><strong><span style="color: white; line-height: 150%; font-family: 宋体">描述</span></strong></span></td></tr><tr><td width="17%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #b3cc82 1pt solid; width: 17.9%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><strong><span style="font-family: 'Cambria','serif'">handler</span></strong></span></td><td width="11%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #f4f4f4; width: 11.8%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><span style="font-family: 宋体">元素</span></span></td><td width="21%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #f4f4f4; width: 21.48%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-family: 'Cambria','serif'"><span style="font-size: small">handler</span></span><span style="font-size: small"><span style="font-family: 宋体">或者</span></span><span style="font-family: 'Cambria','serif'"><span style="font-size: small">transition conditions</span></span><span style="font-size: small"><span style="font-family: 宋体">二者必选其一</span></span></td><td width="48%" valign="top" style="border-right: #b3cc82 1pt solid; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #f4f4f4; width: 48.8%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-family: 宋体"><span style="font-size: small">实现</span></span><span style="color: #111111"><span style="font-size: 11pt; font-family: 'Cambria','serif'">org.jbpm.jpdl.Def.DecisionHandler</span><span style="font-size: 11pt"><span style="font-family: 宋体">接口的</span></span><span style="font-size: 11pt; font-family: 'Cambria','serif'">Java</span><span style="font-size: 11pt"><span style="font-family: 宋体">类名</span></span></span><span style="font-size: small"><span style="font-family: 'Cambria','serif'"> </span></span></td></tr><tr><td width="17%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #b3cc82 1pt solid; width: 17.9%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><strong><span style="font-family: 'Cambria','serif'">transition conditions</span></strong></span></td><td width="11%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f4f4f4; width: 11.8%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent">&nbsp;</td><td width="21%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f4f4f4; width: 21.48%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-family: 'Cambria','serif'"><span style="font-size: small">handler</span></span><span style="font-size: small"><span style="font-family: 宋体">或者</span></span><span style="font-family: 'Cambria','serif'"><span style="font-size: small">transition conditions</span></span><span style="font-size: small"><span style="font-family: 宋体">二者必选其一</span></span></td><td width="48%" valign="top" style="border-right: #b3cc82 1pt solid; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f4f4f4; width: 48.8%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><span style="font-family: 宋体">判定结点将按顺序遍历每个</span><span style="font-family: 'Cambria','serif'">leaving transitions</span><span style="font-family: 宋体">中的条件判定。找到的第一个判定为</span><span style="font-family: 'Cambria','serif'">true</span><span style="font-family: 宋体">的</span><span style="font-family: 'Cambria','serif'">leaving transitions</span><span style="font-family: 宋体">将被选中。如果所有</span><span style="font-family: 'Cambria','serif'">leaving transitions</span><span style="font-family: 宋体">中的判定均为</span><span style="font-family: 'Cambria','serif'">false</span><span style="font-family: 宋体">，则选择第一个默认的</span><span style="font-family: 'Cambria','serif'">leaving transitions.</span></span></td></tr><tr><td width="17%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #b3cc82 1pt solid; width: 17.9%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><strong><span style="font-family: 'Cambria','serif'">common node elements</span></strong></span></td><td width="11%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #f4f4f4; width: 11.8%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><span style="font-family: 'Cambria','serif'">&nbsp;</span></span></td><td width="21%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #f4f4f4; width: 21.48%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><span style="font-family: 'Cambria','serif'">&nbsp;</span></span></td><td width="48%" valign="top" style="border-right: #b3cc82 1pt solid; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #f4f4f4; width: 48.8%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><span style="font-family: 'Cambria','serif'">See common node elements</span></span></td></tr></tbody></table><h4 style="margin: 14pt 0cm 14.5pt; text-align: left" align="left"><a name="event.element" title="event.element"></a><span style="font-size: 10.5pt; line-height: 156%"><span style="font-family: Cambria">&lt;event</span><a name="event.schema" title="event.schema"></a><span style="font-family: Cambria">&gt;(</span></span><span style="font-size: 10.5pt; line-height: 156%; font-family: 宋体">事件</span><span style="font-size: 10.5pt; line-height: 156%"><span style="font-family: Cambria">)</span></span></h4><table border="1" cellspacing="0" cellpadding="0" width="100%" class="MsoTableMediumShading1Accent3" style="width: 100%; border-collapse: collapse; border: medium none"><tbody><tr><td width="34%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #b3cc82 1pt solid; padding-left: 5.4pt; background: #9bbb59; padding-bottom: 0cm; border-left: #b3cc82 1pt solid; width: 34.54%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><strong><span style="color: white; line-height: 150%; font-family: 宋体">名称</span></strong></span></td><td width="10%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #b3cc82 1pt solid; padding-left: 5.4pt; background: #9bbb59; padding-bottom: 0cm; border-left: #f4f4f4; width: 10.74%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><strong><span style="color: white; line-height: 150%; font-family: 宋体">类型</span></strong></span></td><td width="12%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #b3cc82 1pt solid; padding-left: 5.4pt; background: #9bbb59; padding-bottom: 0cm; border-left: #f4f4f4; width: 12.54%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><strong><span style="color: white; line-height: 150%; font-family: 宋体">多样性</span></strong></span></td><td width="42%" valign="top" style="border-right: #b3cc82 1pt solid; padding-right: 5.4pt; border-top: #b3cc82 1pt solid; padding-left: 5.4pt; background: #9bbb59; padding-bottom: 0cm; border-left: #f4f4f4; width: 42.18%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><strong><span style="color: white; line-height: 150%; font-family: 宋体">描述</span></strong></span></td></tr><tr><td width="34%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #b3cc82 1pt solid; width: 34.54%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><strong><span style="font-family: 'Cambria','serif'">type</span></strong></span></td><td width="10%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #f4f4f4; width: 10.74%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><span style="font-family: 宋体">属性</span></span></td><td width="12%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #f4f4f4; width: 12.54%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><span style="font-family: 宋体">必须</span></span></td><td width="42%" valign="top" style="border-right: #b3cc82 1pt solid; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #f4f4f4; width: 42.18%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><span style="font-family: 宋体">事件的类型表明事件在元素中发生的位置。</span></span></td></tr><tr><td width="34%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #b3cc82 1pt solid; width: 34.54%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><strong><span style="font-family: 'Cambria','serif'">{action|script| create-timer|cancel-timer}</span></strong></span></td><td width="10%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f4f4f4; width: 10.74%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><span style="font-family: 宋体">元素</span></span></td><td width="12%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f4f4f4; width: 12.54%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><span style="font-family: 'Cambria','serif'">[0..*]</span></span></td><td width="42%" valign="top" style="border-right: #b3cc82 1pt solid; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f4f4f4; width: 42.18%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><span style="font-family: 宋体">与事件绑定的动作列表。</span></span></td></tr></tbody></table><h4 style="margin: 14pt 0cm 14.5pt; text-align: left" align="left"><a name="transition.element" title="transition.element"></a><span style="font-size: 10.5pt; line-height: 156%"><span style="font-family: Cambria">&lt;transition</span><a name="transition.schema" title="transition.schema"></a><span style="font-family: Cambria">&gt;(</span></span><span style="font-size: 10.5pt; line-height: 156%; font-family: 宋体">转向</span><span style="font-size: 10.5pt; line-height: 156%"><span style="font-family: Cambria">)</span></span></h4><table border="1" cellspacing="0" cellpadding="0" width="100%" class="MsoTableMediumShading1Accent3" style="width: 100%; border-collapse: collapse; border: medium none"><tbody><tr><td width="24%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #b3cc82 1pt solid; padding-left: 5.4pt; background: #9bbb59; padding-bottom: 0cm; border-left: #b3cc82 1pt solid; width: 24.56%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><strong><span style="color: white; line-height: 150%; font-family: 宋体">名称</span></strong></span></td><td width="15%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #b3cc82 1pt solid; padding-left: 5.4pt; background: #9bbb59; padding-bottom: 0cm; border-left: #f4f4f4; width: 15.54%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><strong><span style="color: white; line-height: 150%; font-family: 宋体">类型</span></strong></span></td><td valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #b3cc82 1pt solid; padding-left: 5.4pt; background: #9bbb59; padding-bottom: 0cm; border-left: #f4f4f4; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><strong><span style="color: white; line-height: 150%; font-family: 宋体">多样性</span></strong></span></td><td valign="top" style="border-right: #b3cc82 1pt solid; padding-right: 5.4pt; border-top: #b3cc82 1pt solid; padding-left: 5.4pt; background: #9bbb59; padding-bottom: 0cm; border-left: #f4f4f4; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><strong><span style="color: white; line-height: 150%; font-family: 宋体">描述</span></strong></span></td></tr><tr><td width="24%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #b3cc82 1pt solid; width: 24.56%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><strong><span style="font-family: 'Cambria','serif'">name</span></strong></span></td><td width="15%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #f4f4f4; width: 15.54%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><span style="font-family: 宋体">属性</span></span></td><td valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #f4f4f4; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><span style="font-family: 宋体">可选</span></span></td><td valign="top" style="border-right: #b3cc82 1pt solid; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #f4f4f4; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><span style="font-family: 宋体">转向的名称，每个转向必须有一个可区分的名字。</span></span></td></tr><tr><td width="24%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #b3cc82 1pt solid; width: 24.56%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><strong><span style="font-family: 'Cambria','serif'">to</span></strong></span></td><td width="15%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f4f4f4; width: 15.54%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><span style="font-family: 宋体">属性</span></span></td><td valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f4f4f4; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><span style="font-family: 'Cambria','serif'">required</span></span></td><td valign="top" style="border-right: #b3cc82 1pt solid; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f4f4f4; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-family: 宋体"><span style="font-size: small">目标节点的带层次的名称。如：</span></span><span style="font-family: 'Cambria','serif'"><br /></span><span style="font-size: small"><span style="font-family: 'Cambria','serif'">phase one/invitemurphy</span></span></td></tr><tr><td width="24%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #b3cc82 1pt solid; width: 24.56%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><strong><span style="font-family: 'Cambria','serif'">condition</span></strong></span></td><td width="15%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #f4f4f4; width: 15.54%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><span style="font-family: 宋体">属性</span><span style="font-family: 'Cambria','serif'">/</span><span style="font-family: 宋体">元素</span></span></td><td valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #f4f4f4; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><span style="font-family: 'Cambria','serif'">optional</span></span></td><td valign="top" style="border-right: #b3cc82 1pt solid; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #f4f4f4; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><span style="font-family: 宋体">条件表达式或条件属性</span><span style="font-family: 'Cambria','serif'"> </span></span></td></tr><tr><td width="24%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #b3cc82 1pt solid; width: 24.56%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><strong><span style="font-family: 'Cambria','serif'">{action|script| create-timer| cancel-timer}</span></strong></span></td><td width="15%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f4f4f4; width: 15.54%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><span style="font-family: 宋体">元素</span></span></td><td valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f4f4f4; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><span style="font-family: 'Cambria','serif'">[0..*]</span></span></td><td valign="top" style="border-right: #b3cc82 1pt solid; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f4f4f4; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><span style="font-family: 宋体">进行转向时执行的动作。动作不需要放置于事件中，因为在转向（</span><span style="font-family: 'Cambria','serif'">transition</span><span style="font-family: 宋体">）中只有一个地方可以运行动作。</span></span></td></tr><tr><td width="24%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #b3cc82 1pt solid; width: 24.56%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><strong><span style="font-family: 'Cambria','serif'">exception-handler</span></strong></span></td><td width="15%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #f4f4f4; width: 15.54%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><span style="font-family: 宋体">元素</span></span></td><td valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #f4f4f4; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><span style="font-family: 'Cambria','serif'">[0..*]</span></span></td><td valign="top" style="border-right: #b3cc82 1pt solid; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #f4f4f4; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><span style="font-family: 宋体">对委派类异常的处理者</span></span></td></tr></tbody></table><h4 style="margin: 14pt 0cm 14.5pt; text-align: left" align="left"><a name="action.element" title="action.element"></a><span style="font-size: 10.5pt; line-height: 156%"><span style="font-family: Cambria">&lt;action&gt;(</span></span><span style="font-size: 10.5pt; line-height: 156%; font-family: 宋体">动作</span><span style="font-size: 10.5pt; line-height: 156%"><span style="font-family: Cambria">)</span></span></h4><table border="1" cellspacing="0" cellpadding="0" width="100%" class="MsoTableMediumShading1Accent3" style="border-collapse: collapse; border: medium none"><tbody><tr><td width="146" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #b3cc82 1pt solid; padding-left: 5.4pt; background: #9bbb59; padding-bottom: 0cm; border-left: #b3cc82 1pt solid; width: 109.45pt; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><a name="action.schema" title="action.schema"></a><span style="font-size: small"><strong><span style="color: white; line-height: 150%; font-family: 宋体">名称</span></strong></span></td><td width="79" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #b3cc82 1pt solid; padding-left: 5.4pt; background: #9bbb59; padding-bottom: 0cm; border-left: #f4f4f4; width: 59pt; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><strong><span style="color: white; line-height: 150%; font-family: 宋体">类型</span></strong></span></td><td width="76" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #b3cc82 1pt solid; padding-left: 5.4pt; background: #9bbb59; padding-bottom: 0cm; border-left: #f4f4f4; width: 56.95pt; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><strong><span style="color: white; line-height: 150%; font-family: 宋体">多样性</span></strong></span></td><td width="268" valign="top" style="border-right: #b3cc82 1pt solid; padding-right: 5.4pt; border-top: #b3cc82 1pt solid; padding-left: 5.4pt; background: #9bbb59; padding-bottom: 0cm; border-left: #f4f4f4; width: 200.7pt; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><strong><span style="color: white; line-height: 150%; font-family: 宋体">描述</span></strong></span></td></tr><tr><td width="146" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #b3cc82 1pt solid; width: 109.45pt; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><strong><span style="font-family: 'Cambria','serif'">name</span></strong></span></td><td width="79" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #f4f4f4; width: 59pt; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><span style="font-family: 宋体">属性</span></span></td><td width="76" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #f4f4f4; width: 56.95pt; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><span style="font-family: 宋体">可选</span></span></td><td width="268" valign="top" style="border-right: #b3cc82 1pt solid; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #f4f4f4; width: 200.7pt; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><span style="font-family: 宋体">动作的名称。当动作被赋予名称的时候，它可以从流程定义中查找获取。这对运行时</span><span style="font-family: 'Cambria','serif'">action</span><span style="font-family: 宋体">和</span><span style="font-family: 'Cambria','serif'">action</span><span style="font-family: 宋体">的一次性声明是很有用的。</span></span></td></tr><tr><td width="146" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #b3cc82 1pt solid; width: 109.45pt; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><strong><span style="font-family: 'Cambria','serif'">class</span></strong></span></td><td width="79" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f4f4f4; width: 59pt; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><span style="font-family: 宋体">属性</span></span></td><td width="76" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f4f4f4; width: 56.95pt; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><span style="font-family: 宋体">此属性同</span><span><span style="font-family: Times New Roman"> ref-name </span></span><span style="font-family: 宋体">属性及</span><span><span style="font-family: Times New Roman">expression</span></span><span style="font-family: 宋体">属性，三者只能选其一</span></span></td><td width="268" valign="top" style="border-right: #b3cc82 1pt solid; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f4f4f4; width: 200.7pt; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-family: 宋体"><span style="font-size: small">实现了</span></span><span style="font-size: 11pt; font-family: 'Cambria','serif'"><span style="color: #111111">org.jbpm.graph.def.ActionHandler</span></span><span style="font-size: small"><span style="font-family: 'Cambria','serif'"> </span><span style="font-family: 宋体">接口的</span><span style="font-family: 'Cambria','serif'">Java</span><span style="font-family: 宋体">类名</span><span style="font-family: 'Cambria','serif'"> </span></span></td></tr><tr><td width="146" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #b3cc82 1pt solid; width: 109.45pt; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><strong><span style="font-family: 'Cambria','serif'">ref-name</span></strong></span></td><td width="79" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #f4f4f4; width: 59pt; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><span style="font-family: 宋体">属性</span></span></td><td width="76" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #f4f4f4; width: 56.95pt; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><span style="font-family: 宋体">此属性同</span><span style="font-family: Times New Roman"> <span>class </span></span><span style="font-family: 宋体">属性及</span><span><span style="font-family: Times New Roman">expression</span></span><span style="font-family: 宋体">属性，三者只能选其一</span></span></td><td width="268" valign="top" style="border-right: #b3cc82 1pt solid; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #f4f4f4; width: 200.7pt; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><span style="font-family: 宋体">所引用的</span><span style="font-family: 'Cambria','serif'">action</span><span style="font-family: 宋体">的名称。</span></span><span style="font-size: small"><span style="font-family: 宋体">当该属性被指定的时候，</span><span style="font-family: 'Cambria','serif'">action</span><span style="font-family: 宋体">标签中的内容将被忽略。</span></span></td></tr><tr><td width="146" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #b3cc82 1pt solid; width: 109.45pt; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><strong><span style="font-family: 'Cambria','serif'">expression</span></strong></span></td><td width="79" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f4f4f4; width: 59pt; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><span style="font-family: 宋体">属性</span></span></td><td width="76" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f4f4f4; width: 56.95pt; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><span style="font-family: 宋体">此属性同</span><span style="font-family: Times New Roman"> </span><span style="font-family: 'Cambria','serif'">class</span><span><span style="font-family: Times New Roman"> </span></span><span style="font-family: 宋体">属性及</span><span><span style="font-family: Times New Roman">ref-name</span></span><span style="font-family: 宋体">属性，三者只能选其一</span></span></td><td width="268" valign="top" style="border-right: #b3cc82 1pt solid; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f4f4f4; width: 200.7pt; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><span style="font-family: 'Cambria','serif'">jPDL</span><span style="font-family: 宋体">表达式，代替相应的处理方法。</span></span></td></tr><tr><td width="146" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #b3cc82 1pt solid; width: 109.45pt; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><strong><span style="font-family: 'Cambria','serif'">accept-propagated-events</span></strong></span></td><td width="79" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #f4f4f4; width: 59pt; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><span style="font-family: 宋体">属性</span></span></td><td width="76" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #f4f4f4; width: 56.95pt; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><span style="font-family: 宋体">可选</span></span></td><td width="268" valign="top" style="border-right: #b3cc82 1pt solid; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #f4f4f4; width: 200.7pt; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><span style="font-family: 宋体">可选值：</span><span style="font-family: 'Cambria','serif'">{yes|no|true|false}.</span></span><span style="font-size: small"><span style="font-family: 宋体">默认值为</span><span style="font-family: 'Cambria','serif'"> yes | true. </span></span><span style="font-size: small"><span style="font-family: 宋体">是否接受来至</span><span style="font-family: 'Cambria','serif'">action</span><span style="font-family: 宋体">绑定元素的子元素提交的触发事件。设为</span><span style="font-family: 'Cambria','serif'">false | no</span><span style="font-family: 宋体">，表示只接受</span><span style="font-family: 'Cambria','serif'">action</span><span style="font-family: 宋体">绑定的元素自身的事件</span></span></td></tr><tr><td width="146" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #b3cc82 1pt solid; width: 109.45pt; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><strong><span style="font-family: 'Cambria','serif'">config-type</span></strong></span></td><td width="79" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f4f4f4; width: 59pt; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><span style="font-family: 宋体">属性</span></span></td><td width="76" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f4f4f4; width: 56.95pt; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><span style="font-family: 宋体">可选</span></span></td><td width="268" valign="top" style="border-right: #b3cc82 1pt solid; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f4f4f4; width: 200.7pt; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><span style="font-family: 宋体">对</span><span style="font-family: 'Cambria','serif'">ActionHandler</span><span style="font-family: 宋体">实现类的初始化方式，可选值有：</span></span><span style="font-family: 'Cambria','serif'"><br /><span style="font-size: small">{field|bean|constructor|configuration-property}.</span></span></td></tr><tr><td width="146" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #b3cc82 1pt solid; width: 109.45pt; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><strong><span style="font-family: 'Cambria','serif'">async</span></strong></span></td><td width="79" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #f4f4f4; width: 59pt; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><span style="font-family: 宋体">属性</span></span></td><td width="76" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #f4f4f4; width: 56.95pt; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><span style="font-family: 'Cambria','serif'">true |false</span></span></td><td width="268" valign="top" style="border-right: #b3cc82 1pt solid; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #f4f4f4; width: 200.7pt; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><span style="font-family: 宋体">默认为</span><span style="font-family: 'Cambria','serif'">false</span><span style="font-family: 宋体">，它意味着</span><span style="font-family: 'Cambria','serif'">action</span><span style="font-family: 宋体">与流程在同一线程中执行。如果设为</span><span style="font-family: 'Cambria','serif'">true</span><span style="font-family: 宋体">，将向命令执行器发送一则消息，并且</span><span style="font-family: 'Cambria','serif'">action</span><span style="font-family: 宋体">会以异步的方式在分离的事务（另一线程）中处理。</span></span></td></tr><tr><td width="146" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #b3cc82 1pt solid; width: 109.45pt; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><strong><span style="font-family: 'Cambria','serif'">&nbsp;</span></strong></span></td><td width="79" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f4f4f4; width: 59pt; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><span style="font-family: 'Cambria','serif'">{</span><span style="font-family: 宋体">内容</span><span style="font-family: 'Cambria','serif'">}</span></span></td><td width="76" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f4f4f4; width: 56.95pt; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><span style="font-family: 'Cambria','serif'">optional</span></span></td><td width="268" valign="top" style="border-right: #b3cc82 1pt solid; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f4f4f4; width: 200.7pt; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><span style="font-family: 'Cambria','serif'">action</span><span style="font-family: 宋体">标签体中的内容，作为初始化参数用来初始化</span><span style="font-family: 'Cambria','serif'">ActionHandler</span><span style="font-family: 宋体">的实现类</span><span style="font-family: 'Cambria','serif'">. </span></span></td></tr></tbody></table><h4 style="margin: 14pt 0cm 14.5pt; text-align: left" align="left"><a name="script.element" title="script.element"></a><a name="variable.element" title="variable.element"></a><span style="font-size: 10.5pt; line-height: 156%"><span style="font-family: Cambria">&lt;variable</span><a name="variable.schema" title="variable.schema"></a><span style="font-family: Cambria">&gt;(</span></span><span style="font-size: 10.5pt; line-height: 156%; font-family: 宋体">变量</span><span style="font-size: 10.5pt; line-height: 156%"><span style="font-family: Cambria">)</span></span></h4><table border="1" cellspacing="0" cellpadding="0" width="100%" class="MsoTableMediumShading1Accent3" style="width: 100%; border-collapse: collapse; border: medium none"><tbody><tr><td valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #b3cc82 1pt solid; padding-left: 5.4pt; background: #9bbb59; padding-bottom: 0cm; border-left: #b3cc82 1pt solid; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><strong><span style="color: white; line-height: 150%; font-family: 宋体">名称</span></strong></span></td><td width="8%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #b3cc82 1pt solid; padding-left: 5.4pt; background: #9bbb59; padding-bottom: 0cm; border-left: #f4f4f4; width: 8.96%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><strong><span style="color: white; line-height: 150%; font-family: 宋体">类型</span></strong></span></td><td width="11%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #b3cc82 1pt solid; padding-left: 5.4pt; background: #9bbb59; padding-bottom: 0cm; border-left: #f4f4f4; width: 11.68%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><strong><span style="color: white; line-height: 150%; font-family: 宋体">多样性</span></strong></span></td><td width="60%" valign="top" style="border-right: #b3cc82 1pt solid; padding-right: 5.4pt; border-top: #b3cc82 1pt solid; padding-left: 5.4pt; background: #9bbb59; padding-bottom: 0cm; border-left: #f4f4f4; width: 60.46%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><strong><span style="color: white; line-height: 150%; font-family: 宋体">描述</span></strong></span></td></tr><tr><td valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #b3cc82 1pt solid; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><strong><span style="font-family: 'Cambria','serif'">name</span></strong></span></td><td width="8%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #f4f4f4; width: 8.96%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><span style="font-family: 宋体">属性</span></span></td><td width="11%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #f4f4f4; width: 11.68%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><span style="font-family: 宋体">必须</span></span></td><td width="60%" valign="top" style="border-right: #b3cc82 1pt solid; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; background: #e6eed5; padding-bottom: 0cm; border-left: #f4f4f4; width: 60.46%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid"><span style="font-size: small"><span style="font-family: 宋体">过程变量名</span></span></td></tr><tr><td valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #b3cc82 1pt solid; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><strong><span style="font-family: 'Cambria','serif'">access</span></strong></span></td><td width="8%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f4f4f4; width: 8.96%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><span style="font-family: 宋体">属性</span></span></td><td width="11%" valign="top" style="border-right: #f4f4f4; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f4f4f4; width: 11.68%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><span style="font-family: 宋体">可选</span></span></td><td width="60%" valign="top" style="border-right: #b3cc82 1pt solid; padding-right: 5.4pt; border-top: #f4f4f4; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f4f4f4; width: 60.46%; padding-top: 0cm; border-bottom: #b3cc82 1pt solid; background-color: transparent"><span style="font-size: small"><span style="font-family: 宋体">访问约束。</span></span><span style="font-family: 宋体"><span style="fo