零全零美(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)
搜索
積分與排名
積分 - 152260
排名 - 402
最新評論
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
零全零美
閱讀(1934)
評論(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
博客園
模板提供:
滬江博客
主站蜘蛛池模板:
久久国产乱子免费精品
|
亚洲精品无码不卡在线播放
|
久久久久久国产a免费观看黄色大片
|
国产日韩久久免费影院
|
国产精品免费福利久久
|
亚洲成AV人片天堂网无码
|
日韩电影免费在线观看网站
|
亚洲AV永久无码区成人网站
|
亚洲资源最新版在线观看
|
一级毛片视频免费
|
国产四虎免费精品视频
|
亚洲婷婷第一狠人综合精品
|
手机在线毛片免费播放
|
亚洲精品无码久久久影院相关影片
|
日韩人妻一区二区三区免费
|
国产精品高清全国免费观看
|
好看的亚洲黄色经典
|
免费人成毛片动漫在线播放
|
一本久久综合亚洲鲁鲁五月天
|
久久丫精品国产亚洲av
|
91九色精品国产免费
|
亚洲人成网站色7799
|
免费h成人黄漫画嘿咻破解版
|
亚洲天堂免费在线视频
|
久久久无码精品亚洲日韩蜜臀浪潮
|
最近中文字幕免费mv在线视频
|
中文亚洲AV片在线观看不卡
|
国产在线观看免费av站
|
亚洲精品免费在线视频
|
日韩免费视频播放
|
亚洲日本久久一区二区va
|
国产又大又长又粗又硬的免费视频
|
国产久爱免费精品视频
|
亚洲欧洲尹人香蕉综合
|
亚洲成A人片77777国产
|
特级毛片A级毛片免费播放
|
日本人护士免费xxxx视频
|
中国一级毛片视频免费看
|
亚洲综合丁香婷婷六月香
|
亚洲伊人久久综合中文成人网
|
91免费福利精品国产
|