arch_wf 流程调用顺序

  1. WorkflowServiceUtil.drivenProcess(info); //驱动流程(提交、退回、撤销、取回、转发等)
  2. WorkflowService service = new WorkflowServiceImpl(); //封装远程代理对象
  3. String invocationHandler = WorkflowProperties.get("wf_invocation_handler_impl"); //获得动态代理的handler
  4. _invocationHandle = (InvocationHandler) WorkflowServiceImpl.class.getClassLoader()
          .loadClass(invocationHandlerImpl).newInstance();  //获得handler对象实例
  5. obj = Proxy.newProxyInstance(super.getClass().getClassLoader(), super.getClass().getInterfaces(),
         _invocationHandle);//获得远程代理对象,通过WorkflowService 接口使用其中的方法
  6. WorkflowInvocationHandler.invoke //动态代理方法
  7. WorkflowRemoteClient.call  //具体远程调用WorkflowLocalServiceUtil,例如 http://192.168.4.19:8089/arch_wf/entry/workflowEventServlet
  8. arch_wf web.xml workflowEventServlet 接收请求
  9. WorkflowRemoteCallImpl.excute  处理请求
  10.  this.runByDefault(className, methodName, classTypes, args, isStatice);//反射调用WorkflowLocalServiceUtil类中具体的方法
  11. 返回调用结果
原文地址:https://www.cnblogs.com/rigid/p/7010141.html