零全零美(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
博客園
模板提供:
滬江博客
主站蜘蛛池模板:
久久精品国产精品亚洲蜜月
|
中文字幕亚洲天堂
|
亚洲视频一区在线观看
|
一个人看的www免费视频在线观看
|
久久久久亚洲AV综合波多野结衣
|
无码人妻一区二区三区免费视频
|
免费被黄网站在观看
|
亚洲人成在线中文字幕
|
国拍在线精品视频免费观看
|
亚洲欧洲日本在线
|
亚洲阿v天堂在线2017免费
|
久久久久国产成人精品亚洲午夜
|
国产精品成人啪精品视频免费
|
亚洲宅男天堂在线观看无病毒
|
日本在线免费观看
|
亚洲免费电影网站
|
日韩在线视频免费看
|
色噜噜狠狠色综合免费视频
|
亚洲人AV永久一区二区三区久久
|
三级黄色在线免费观看
|
亚洲v高清理论电影
|
日韩视频在线精品视频免费观看
|
免费激情网站国产高清第一页
|
久久精品国产亚洲精品
|
国内精品久久久久影院免费
|
亚洲午夜成激人情在线影院
|
日韩高清在线高清免费
|
a毛片成人免费全部播放
|
亚洲无线电影官网
|
精品国产免费观看久久久
|
黄 色一级 成 人网站免费
|
亚洲av无码av制服另类专区
|
一二三四视频在线观看中文版免费
|
亚洲尹人九九大色香蕉网站
|
一个人看的www免费视频在线观看 一个人免费视频观看在线www
|
91人人区免费区人人
|
亚洲大尺度无码无码专线一区
|
亚洲偷自拍拍综合网
|
永久黄色免费网站
|
一级毛片**免费看试看20分钟
|
亚洲欧洲精品在线
|