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

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

工作流引擎Shark中調用外部程序的方法

2019-11-18 12:04:09
字體:
來源:轉載
供稿:網友

  最近看了一下工作流引擎Shark,感覺還可以,可擴展性和可配置性都很不錯。
  
  
  
  步驟:
  
  1、 定義流程,主要是relevant date及applications等
  
  2、 編寫調用的class文件,見后面
  
  3、 運行Shark,裝載TestAppInvoke.XPdl,增加Application Mapping,選擇應用程序為TestApp,即在包中定義的應用程序;ToolAgent類型為javaClassToolAgent;Application Name一欄填入Class名稱
  
  4、 在PRocess instantiation management中啟動流程,此時會自動執行應用程序
  
  
  
  注重事項:
  
  1、應用程序中使用到的數據可定義為Workflow Relevant Date;傳入類型可為IN、OUT或INOUT;運行應用程序的節點處增加Extended Attribute,名稱為VariableToProcess_UPDATE或VariableToProcess_VIEW,value為參數名;
  
  2、程序需要在classpath里面,使用的程序名稱為全名,包括包路徑(不帶.class);
  
  3、編譯后的class文件放到repository/ storedprocedures路徑下,注重包的路徑;
  
  4、有三種類型的活動節點可調用外部程序
  
  l     活動節點為“Tool”類型,執行者為“System”,開始和結束模式為“AUTOMATIC”;
  
  l     活動節點為“Tool”類型,沒有執行者,開始和結束模式為“AUTOMATIC”;
  
  l     活動節點為“Tool”類型,執行者為“System”以外的類型,開始模式為MANUAL,結束模式為AUTOMATIC
  
  5、 假如在Shark中未定義程序映射,Shark將調用默認的ToolAgent,在Shark.conf中可定義;
  
  6、 RuntimeApplicationToolAgent可執行其它外部程序,比如notepad等,此時,傳入的application mode假如為0,則Shark會等待應用程序的執行結束;假如不為0,則Shark在應用程序開始后會繼續流程的處理;
  
  7、 javascriptToolAgent可用于執行Javascript,application mode為0,則系統將搜索名為applicationName的文件,執行;
  
  TestAppInvoke.java
  public class TestAppInvoke {
  
    public TestAppInvoke() {
    }
  
    public static void execute(AppParameter p1, AppParameter p2, AppParameter p3) {
      JOptionPane.showMessageDialog(null, "初始值:param1=" + p1.the_value
          + "  param2=" + p2.the_value + "  param3=" + p3.the_value);
      
      //這里可設置獲取的參數,注重在包定義中應定義參數類型為OUT或INOUT
      //p1.the_mode可獲取參數的權限類型:可讀、可寫還是可讀寫
      p1.the_value = new String("ABCDE");
      p2.the_value = new Long(12345); //在Shark中,將Integer類型做為Long類型來處理
      p3.the_value = new Boolean(true);     
  
      JOptionPane.showMessageDialog(null, "更改后:param1=" +p1.the_mode +p1.the_value
          + "  param2=" + p2.the_value + "  param3=" + p3.the_value);
    }
  
  }

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 红原县| 黔南| 周口市| 金堂县| 石河子市| 郯城县| 五家渠市| 隆德县| 古丈县| 名山县| 杭锦后旗| 林芝县| 夏邑县| 太保市| 谢通门县| 阳泉市| 霍州市| 淳安县| 公主岭市| 常宁市| 伊金霍洛旗| 广汉市| 泸西县| 卢氏县| 灵璧县| 文山县| 敦煌市| 雷山县| 英山县| 四子王旗| 沂源县| 太湖县| 河池市| 潜山县| 新竹县| 大庆市| 胶州市| 思南县| 油尖旺区| 永丰县| 晋城|