零全零美(www.zzgwt.com)
生活中的很多事情,并不像If...Else那么簡單!
BlogJava
首頁
新文章
聯系
管理
posts - 96,comments - 52,trackbacks - 0
<
2008年11月
>
日
一
二
三
四
五
六
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
常用鏈接
我的隨筆
我的評論
我的參與
最新評論
隨筆分類
apache組件(4)
JavaScript(14)
jbpm(6)
oracle(5)
PL/SQL(1)
SEO(3)
tomcat(5)
ubuntu(16)
安全相關(26)
數據庫
正則表達式(6)
設計模式(3)
隨筆檔案
2012年9月 (1)
2012年7月 (3)
2012年6月 (2)
2009年11月 (36)
2009年10月 (18)
2009年9月 (1)
2009年2月 (1)
2009年1月 (1)
2008年11月 (9)
2008年9月 (1)
2008年8月 (1)
2008年7月 (4)
2008年6月 (2)
2008年5月 (6)
2008年4月 (11)
友情鏈接
www.modaotea.com
茶藝培訓 茶樓管理
www.website371.com
鄭州做網站 鄭州網站建設 鄭州做網站公司 鄭州網站優化 鄭州網站制作
河南省大井科技有限公司(www.zzgwt.com)
搜索
積分與排名
積分 - 151452
排名 - 406
最新評論
1.?re: 正則表達式學習筆記(1) 行的開始和結束、字符組、連字符、脫字符、用"."去匹配任意字符
贊
--性感電子
2.?re: Apache httpd+Jk+Tomcat實現JAVA服務器配置全解析(1):基礎環境搭建
什么嘛,我就是不懂這些才搜索的,我最需要的就是你省略的部分,如何配置安裝,唉,又得繼續找資料了。
--吐槽
3.?re: JavaScript學習筆記(1)變量的生命周期
寫的很好
--fwd
4.?re: SELinux學習(1):Can't connect to MySQL server on 'ip' (13) 的解決方案
沒玩過這東西啊呵呵
--臺式萬用表
5.?re: [原創]巧用System.getProperty()編譯現有工程的java文件
你不能用ANT嗎?
--DB Compare Tool
JBPM實踐之:使用Fork中的Script實現多路路由選擇
在閱讀本文之前,建議先閱讀一下《
JBPM源碼解讀之:Fork
》以了解Fork中Script的配置方法及處理方式:
按照Fork對Script的規范Script必須包含一個具有write權限的變量,而且該變量必須實現java.util.Collection接口。
<?
xml version="1.0" encoding="UTF-8"
?>
<
process-definition
xmlns
="urn:jbpm.org:jpdl-3.2"
name
="multiChoice"
>
<
start-state
name
="start"
>
<
transition
name
=""
to
="a"
></
transition
>
</
start-state
>
<
task-node
name
="a"
>
<
event
type
="node-enter"
>
<
script
>
System.out.println("---enter node a--");
</
script
>
</
event
>
<
transition
name
=""
to
="multichoice"
></
transition
>
</
task-node
>
<
fork
name
="multichoice"
>
<
script
>
<
variable
name
="transitionNames"
access
="write"
></
variable
>
<
expression
>
transitionNames = new ArrayList();
if ( scenario == 1 ){
transitionNames.add( "to b" );
} else if ( scenario ==2 ) {
transitionNames.add( "to c" );
} else if (scenario >= 3 ) {
transitionNames.add( "to b" );
transitionNames.add( "to c" );
}
</
expression
>
</
script
>
<
event
type
="node-enter"
>
<
script
>
System.out.println("---enter node fork--");
</
script
>
</
event
>
<
transition
name
="to b"
to
="b"
></
transition
>
<
transition
name
="to c"
to
="c"
></
transition
>
</
fork
>
<
task-node
name
="b"
>
<
event
type
="node-enter"
>
<
script
>
System.out.println("---enter node b--");
</
script
>
</
event
>
<
transition
name
=""
to
="syncmerge"
></
transition
>
</
task-node
>
<
task-node
name
="c"
>
<
event
type
="node-enter"
>
<
script
>
System.out.println("---enter node c--");
</
script
>
</
event
>
<
transition
name
=""
to
="syncmerge"
></
transition
>
</
task-node
>
<
join
name
="syncmerge"
>
<
event
type
="node-enter"
>
<
script
>
System.out.println("---enter node syncmerge--");
</
script
>
</
event
>
<
transition
name
=""
to
="end"
></
transition
>
</
join
>
<
end-state
name
="end"
>
<
event
type
="node-enter"
>
<
script
>
System.out.println("---enter node end--");
</
script
>
</
event
>
</
end-state
>
</
process-definition
>
附上單元測試代碼:
import
junit.framework.TestCase;
import
org.jbpm.graph.def.ProcessDefinition;
import
org.jbpm.graph.exe.ProcessInstance;
import
org.junit.After;
import
org.junit.Before;
import
org.junit.Test;
public
class
TestFork
extends
TestCase
{
private
ProcessDefinition processDefinition;
@Before
public
void
setUp()
throws
Exception
{
String xmlPath
=
"
jbpmTest/fork/jpdl/fork.xml
"
;
processDefinition
=
ProcessDefinition.parseXmlResource(xmlPath);
}
@After
public
void
tearDown()
throws
Exception
{
}
@Test
public
void
test()
{
ProcessInstance processInstance
=
new
ProcessInstance(processDefinition);
//
processInstance.getContextInstance().setVariable("scenario", new Integer(1));
//
processInstance.getContextInstance().setVariable("scenario", new Integer(2));
processInstance.getContextInstance().setVariable(
"
scenario
"
,
new
Integer(
3
));
processInstance.signal();
}
}
posted on 2008-11-05 17:05
零全零美
閱讀(1920)
評論(4)
編輯
收藏
所屬分類:
jbpm
FeedBack:
#
re: JBPM實踐之:使用Fork中的Script實現多路路由選擇[未登錄]
2009-07-14 10:36 |
zhang
你好。我的運行報錯。好像是這個地方。
<script>
<variable name="transitionNames" access="write"></variable>
<expression>
transitionNames=new ArrayList();
if(scenario==1){
transitionNames.add("to b" );
}else if ( scenario ==2 ) {
transitionNames.add( "to c" );
}else if (scenario >= 3) {
transitionNames.add( "to b" );
transitionNames.add("to c" );
}
</expression>
</script>
錯誤提示:
10:33:04,453 [main] WARN Script : exception during evaluation of script expression
Sourced file: inline evaluation of: ``transitionNames=new ArrayList(); if(scenario==1){ transitionNames.add("to b" ); . . . '' : illegal use of undefined variable, class, or 'void' literal : at Line: 1 : in file: inline evaluation of: ``transitionNames=new ArrayList(); if(scenario==1){ transitionNames.add("to b" ); . . . '' : ) {
回復
更多評論
#
re: JBPM實踐之:使用Fork中的Script實現多路路由選擇
2009-08-03 14:32 |
tomc
要怎么解決?
回復
更多評論
#
re: JBPM實踐之:使用Fork中的Script實現多路路由選擇
2009-08-17 21:42 |
阿斯頓
我也遇到了和樓上一樣的問題,請問該如何解決呢?等待中。。。
回復
更多評論
#
re: JBPM實踐之:使用Fork中的Script實現多路路由選擇
2011-02-23 14:38 |
鄭院生
我的也是這個問題 不過我的是因為出了個小錯 解釋把 access=“write” 寫成了acess=“write”,修改以后就沒事了 民可以再仔細檢查一下自己的源碼,僅供參考
回復
更多評論
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發表評論。
網站導航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
相關文章:
[原創]巧用System.getProperty()編譯現有工程的java文件
[原創]JBPM源碼解讀之:Join
[原創]JBPM實踐之:并發子流程的實現
JBPM實踐之:使用Fork中的Script實現多路路由選擇
[原創]JBPM源碼解讀之:Fork
JBPM實踐之:在流程圖上高亮顯示指定的任務節點
Copyright ©2025 零全零美 Powered By
博客園
模板提供:
滬江博客
主站蜘蛛池模板:
亚洲av无码兔费综合
|
baoyu122.永久免费视频
|
亚洲日韩VA无码中文字幕
|
手机看片国产免费永久
|
亚洲伊人久久大香线蕉影院
|
国产jizzjizz视频免费看
|
玖玖在线免费视频
|
亚洲啪AV永久无码精品放毛片
|
亚洲欧洲国产成人综合在线观看
|
中文字幕亚洲免费无线观看日本
|
亚洲国产精品无码第一区二区三区
|
亚洲熟女一区二区三区
|
最近免费中文字幕大全
|
91视频免费观看
|
亚洲精品无码av片
|
亚洲最大的成网4438
|
国产伦一区二区三区免费
|
91福利免费体验区观看区
|
无遮挡国产高潮视频免费观看
|
精品亚洲AV无码一区二区
|
亚洲午夜久久久久妓女影院
|
天天天欲色欲色WWW免费
|
国产做国产爱免费视频
|
亚洲av永久无码精品秋霞电影秋
|
亚洲av日韩av激情亚洲
|
亚洲国产成人精品久久久国产成人一区二区三区综
|
国产一级理论免费版
|
日本片免费观看一区二区
|
中文字幕在线成人免费看
|
亚洲av无码一区二区三区四区
|
久久久久亚洲精品天堂
|
亚洲最大av无码网址
|
免费无码不卡视频在线观看
|
3d动漫精品啪啪一区二区免费
|
国产精品免费在线播放
|
国产成人不卡亚洲精品91
|
亚洲熟妇久久精品
|
亚洲成在人线电影天堂色
|
亚洲国产精品人久久
|
国产亚洲精品激情都市
|
亚洲成av人片一区二区三区
|