国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

基本的osworkflow API

2019-11-18 11:33:34
字體:
供稿:網(wǎng)友

接口選擇:

osworkflow提供幾種實(shí)現(xiàn)com.opensymphony.workflow.Workflow

 

BasicWorkflow:

不提供事務(wù)支持,你可以通過持久層來實(shí)現(xiàn)事務(wù)處理。

Workflow wf = new BasicWorkflow(username)

這里的username是用來關(guān)聯(lián)當(dāng)前請(qǐng)求的用戶。

 

EJBWorkflow:

用ejb容器來治理事務(wù)。在ejb-jar.xml中進(jìn)行配置。

Workflow wf = new EJBWorkflow()

這里沒有必要想basicworkflow和ofbizworkflow那樣給出username。因?yàn)閑jb容器已經(jīng)校驗(yàn)過的。

 

Ofbizworkflow:

與basicworkflow比較相似,不同只在于需要事務(wù)支持的方法由ofbiz TransactionUtil calls來包裝。

 

創(chuàng)建新的工作流實(shí)例:

這里是以basicworkflow為例子

 

Workflow wf = new BasicWorkflow(username);
HashMap inputs = new HashMap();
inputs.put("docTitle", request.getParameter("title"));

wf.initialize("workflowName", 1, inputs);

 

執(zhí)行action:

Workflow wf = new BasicWorkflow(username);
HashMap inputs = new HashMap();
inputs.put("docTitle", request.getParameter("title"));
long id = Long.parseLong(request.getParameter("workflowId"));
wf.doAction(id, 1, inputs);

查詢:

值得注重的是:并不是所有的 workflow stores支持查詢。當(dāng)前的hibernate,jdbc和內(nèi)存工作流存儲(chǔ)支持查詢。Hibernate存儲(chǔ)不支持mixed-type查詢(如,一個(gè)查詢使用到了歷史和當(dāng)前step contexts)。為了執(zhí)行一個(gè)查詢,需要構(gòu)造出一個(gè)WorkflowEXPRessionQuery對(duì)象。查詢方法是在這個(gè)對(duì)象上被調(diào)用的。

簡單查詢、嵌套查詢、mixed-context查詢(不支持hibernate工作流存儲(chǔ))在docs文檔的5.4部分都有。

 

 

2.7版的osworkflow提供一種配置接口。默認(rèn)實(shí)現(xiàn)是DefaultConfiguration,通過AbstractWorkflow的setconfiguration方法來更改歷史遺留的singleton靜態(tài)模型使其不會(huì)被使用。應(yīng)該避免每次都創(chuàng)建新的工作流實(shí)例。

遺留部分:

Workflow workflow = new BasicWorkflow("blah");
long workflowId = workflow.initialize("someflow", 1, new HashMap());
workflow.doAction(workflowId, 2, new HashMap());
...
//in some other class, called later on
Workflow workflow = new BasicWorkflow("blah");
workflow.doAction(workflowId, 3, new HashMap());

推薦方法:

Workflow workflow = new BasicWorkflow("blah");
Configuration config = new DefaultConfiguration();
workflow.setConfiguration(config);
long workflowId = workflow.initialize("someflow", 1, new HashMap());
workflow.doAction(workflowId, 2, new HashMap());
//keep track of Workflow object somewhere!
...
//in some other class, called later on
//look up Workflow instance that was held onto earlier
Workflow workflow = ...; //note, do NOT create a new one!
workflow.doAction(workflowId, 3, new HashMap());

 

實(shí)際當(dāng)中還是需要到javadoc中不斷去查。



發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 叙永县| 石河子市| 顺平县| 怀集县| 格尔木市| 平江县| 泸西县| 奉化市| 台江县| 民乐县| 长治县| 建阳市| 长岛县| 宜都市| 宁津县| 赣州市| 溧水县| 涞水县| 叶城县| 禄劝| 澄江县| 西充县| 郯城县| 灵台县| 达尔| 大城县| 鹤庆县| 山丹县| 望谟县| 贵南县| 黄陵县| 彰武县| 农安县| 策勒县| 南溪县| 滦南县| 裕民县| 榆林市| 谢通门县| 龙井市| 墨脱县|