JBPM task state decision 用法or不同點

jbpm4.3中的節點有很多種

常見的有:

state、task、decision

(我列出來的都是最基本的)

可以這樣理解

流程實例碰到

state就會自己停下來,但是這個任務不屬於那個人,而且知道有任何人驅動了向下,

流程纔會流轉

task就是也會停下來,但是這個任務會分派給一個人或者一個組

知道這個人或者這個組中的某個人(需要以“競爭”的方式領取任務,說白了就是搶)

完成了這個任務,然後流程纔會向下

decision就是不會停下來的,它會自己根據流程變量選擇往哪個流程分支前進

也就是相當於判斷的意思,沒有人干預的...

今天搞了decision ,非常鬱悶 !

...網上大多數人都是讓decision去搞出一個 handler 處理類...

這個...

順便說一句...網上那些例子,幾乎全部是寫死的!

靠,decision需要依靠一個Java類,那麼當你發佈一個流程的時候還要附帶上一個編譯好的類?

... 那麼這樣工作流引擎的發佈流程功能還有什麼用呢?

按照網上的例子寫,基本上可以說,你開發的使用已經限定了你可以發佈什麼流程

然後審批人是什麼,表單傳遞的內容是什麼...

這樣,工作流引擎的意義就沒多大了...

所以,我自己考慮了一下,不應該讓流程定義依賴於handler類處理,而是使用

expression 表達式方式

而且,而且表單中的參數,也不該在流程處理的Action中定死,而是自動獲取

表單的key和value放入流程變量...

當流程發佈的時候,需要有流程定義文件,流程圖片,流程所有的表單

我們需要上傳這幾個文件,然後才能    定義任意流程!

個人覺得,這樣才發揮了工作流引擎的意義...

具體怎麼寫,篇幅問題,我只能等我徹底完成後再單獨發一篇博客才能分享了...

回到正題:

<decision name="b" expr="#{action}">
  <transition to="c" name="abc"/>
  <transition to="d" name="def"/>
 </decision>

這個是我的decision 標籤

expr是表達式

#{action}

是判斷 流程變量中的 action ,如果action的值爲 abc 那麼就

流程流轉向 c 節點

如果是 def 那麼就流向 d 節點

當然,這些表達式還有很多

具體參照

販賣你168那個文檔

http://www.family168.com/tutorial/jbpm4.0/html/jpdl.html#decision

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章