osworkflow基本api

來源:互聯網
上載者:User
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 的基本內容。 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.