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

首頁 > 學院 > 開發設計 > 正文

osworkflow 小培訓(2)

2019-11-18 11:32:46
字體:
來源:轉載
供稿:網友

api-基本:
 
§sworkflow提供了集中工作流實現方式:
   BasicWorkflow
   EJBWorkflow
   Ofbizworkflow
§創建新的工作流實例,執行action
   Workflow workflow = new BasicWorkflow("testuser");
   DefaultConfiguration config = new DefaultConfiguration();
   workflow.setConfiguration(config);
   long workflowId = workflow.initialize("mytest", 1, null);
   workflow.doAction(workflowId, 1, null);
api-abstractworkflow:
 
§osworkflow中有關工作流流轉的所有核心代碼都在AbstractWorkflow中,BasicWorkflow就是派生自它,可以從AbstractWorkflow派生自己的Workflow類以加入擴展功能
§最重要的方法doAction
§其他主要功能:Initialize、executeFunction、眾多get方法、query、state相關、等等
api-配置文件相關:
 
§Configuration實例負責系統配置的加載。AbstractWorkflow會調用其load方法,該方法內部會查找一個名為osworkflow.xml的配置文件,并對其解析。
§WorkflowFactory包括XMLWorkflowFactory 、JDBCWorkflowFactory、URLWorkflowFactory,作用即是加載各個不同的工作流定義,維護一個map。
§WorkflowLoader的作用實現配置文件的讀取
§WorkflowDescriptor的作用將平面的xml流轉化為osworkflow內部所使用的具有真正意義的對象。
§其他不同的descriptor,如(step、action…………)之間的關系。
其他不同的descriptor,如(step、action…………)之間的關系。
api-查詢:
 
§目的:希望了解流程當前的運行狀況à查詢
§WorkflowQuery及其相關類(query包)
§ WorkflowQuery queryLeft = new WorkflowQuery(
  WorkflowQuery.OWNER, WorkflowQuery.CURRENT, WorkflowQuery.EQUALS, “test");
WorkflowQuery queryRight = new WorkflowQuery(
  WorkflowQuery.STATUS, WorkflowQuery.CURRENT, WorkflowQuery.EQUALS, “Underway");
WorkflowQuery query = new WorkflowQuery(
  queryLeft, WorkflowQuery.AND, queryRight);
List workflows = wf.query(query);
for (Iterator iterator = workflows.iterator(); iterator.hasNext();)
  Long wfId = (Long) iterator.next();
}
§AbstractWorkflow導向workflowstore進行實際查詢,最后將查詢結果存儲與arraylist中
§目的:希望了解流程當前的運行狀況à查詢
§WorkflowQuery及其相關類(query包)
§ WorkflowQuery queryLeft = new WorkflowQuery(
  WorkflowQuery.OWNER, WorkflowQuery.CURRENT, WorkflowQuery.EQUALS, “test");
WorkflowQuery queryRight = new WorkflowQuery(
  WorkflowQuery.STATUS, WorkflowQuery.CURRENT, WorkflowQuery.EQUALS, “Underway");
WorkflowQuery query = new WorkflowQuery(
  queryLeft, WorkflowQuery.AND, queryRight);
List workflows = wf.query(query);
for (Iterator iterator = workflows.iterator(); iterator.hasNext();)
  Long wfId = (Long) iterator.next();
}
§AbstractWorkflow導向workflowstore進行實際查詢,最后將查詢結果存儲與arraylist中
api-用戶治理:
 
§OSWorkflow在用戶治理方面所提供的功能,主要包括用戶的創建、群組的定義、用戶驗證、以及對step執行人的跟蹤記錄和執行權限的判定等等
§用戶/群組的治理是由UserManager來完成的
§代碼中具體講解
代碼中具體講解
osworkflow任務治理:
 
§OSWorkflow引擎只負責了“流程的運轉”,當然這個運轉會根據你所定義的Action和condtion來判定。
§Condition—條件判定
§Function(PRe and post)--Step、action、result執行過程需要調用的功能
§FunctionProvider接口、execute方法
§<step id="4" name="Assign">
§      <pre-functions>
§        <function type="class">
§      <arg name="class.name">nUCleus.assign.AssignmentFunction</arg>
§      <arg name="Participant">A</arg>
§      <arg name="ParticipantType">role</arg>
          <arg name="actionID">22</arg>
§        </function>
§      </pre-functions>
§      <actions>
§         ······
§      </actions>
§    </step>
    </step>
osworkflow的schedule:
 
§定時執行某項任務的功能,Quartz
§<function type="class">
 <arg name="class.name">com.opensymphony.workflow.util.ScheduleJob</arg>
 <arg name="triggerId">1</arg>
 <arg name="jobName">testJob</arg>
 <arg name="triggerName">testTrigger</arg>
 <arg name="groupName">test</arg>
 <arg name="repeat">10</arg>
 <arg name="repeatDelay">2000</arg>
 <arg name="cronEXPression">0,5,10,15,20,25,30,35,40,45,50,55 * * * * ?</arg>
 <arg name="username">test</arg>
 <arg name="passWord">test</arg>
 <arg name="local">true</arg>
 <arg name="schedulerStart">true</arg>
</function>
§Trigger和jobDetail,trigger觸發條件滿足后,則會激活真正的job實例,job實例真正執行的是trigger function(在配置文件中定義)
最后講解osworkflow自帶小例子,約1小時40分鐘講完。以上為PPT 的基本內容。



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 塔河县| 平顶山市| 故城县| 松桃| 容城县| 喀什市| 淮南市| 达尔| 泗洪县| 上蔡县| 永吉县| 抚远县| 论坛| 普洱| 镇安县| 浦江县| 云龙县| 东方市| 吉水县| 师宗县| 达孜县| 新昌县| 周口市| 乐都县| 闽侯县| 江永县| 石河子市| 丰县| 松桃| 玉门市| 恭城| 抚顺县| 承德县| 遵化市| 鄱阳县| 临澧县| 凌源市| 黑龙江省| 建水县| 东兰县| 宽城|