shark接口1分析(一)--启动流程

来源:互联网 发布:小学拼音教学软件 编辑:程序博客网 时间:2024/05/21 11:09

 

Shark流程启动过程

 

1)      定位工作流服务器

      Shark.configure("Shark.conf");

      SharkInterface si= Shark.getInstance();

2) 连接工作流服务器

   SharkConnection sc= si. getSharkConnection();

   sc. connect(username, pwd, engineName, scope);

3) 产生流程

       WfProcess wfp = sc.createProcess(pkgId, pDefId);

       在产生流程时,使用的是SharkConnection的对象,该对象中保存了用户信息,用户信息作为产生的流程的requester;

      然后用两个参数:包定义ID和流程定义ID获取流程管理器的ID;

      最后,用该流程管理器来产生流程

4) 启动流程

      wfp.start();

      经过SHARK的几轮跳转,最后的实现在org.enhydra.shark.WfProcessImpl中,实现代码如下:

      //前面有对异常的判断

      //启动时间在后面要用

      startedTime = System.currentTimeMillis();

      //改变状态

         change_state(t,SharkConstants.STATE_OPEN_RUNNING);

         //激活计时器

     this.activateLimitAgent(t);

     //驱动流程

         run(t, null); 

5)断开连接

      disconnect(sc);

      return wfp.key();

原创粉丝点击