Java远程调用BPS流程实现流程运行简单示例
来源:互联网 发布:数据清洗什么意思 编辑:程序博客网 时间:2024/05/19 03:25
1、简介:略
2、背景:略
3、目的:自我学习笔记
4、实现过程
(1)、画出流程图 如下:
路由活动分支下的条件语句为复杂表达式:
((account<200&&divisionresult.equals("1"))||(account>=200&&account<1000&&directorateresult.equals("1"))||(account>=1000&&VCresult.equals("1")&&directorateresult.equals("1")))
(2)发布流程
(3)在eclipse中新建Java项目,引入BPS client 端依赖的jar包, 这些jar包可以在:
http://product.primeton.com/download/attachments/14911104/Primeton_BPS_7.5_API_Libraries.zip 下载,
下载后解压,右键项目选择properties,然后将3rd 和bps 两个文件夹下的jar包导入新建的remotebpsclient工程。
(4)创建包含main方法的类BPSClient(注意要有包名),在src目录下创建uddi-address.xml。
uddi-address.xml:
<?xml version="1.0" encoding="UTF-8"?><uddi__address__list> <uddi__address id="default"> <name>localserver</name> <logicName>default</logicName> <type>remote</type> <description>uddi-config.xml at " Work Space"</description> <uddiHost>127.0.0.1</uddiHost> <uddiPort>8080</uddiPort> <uddiWebContext>default</uddiWebContext> <uddiUserID>bps</uddiUserID> <uddiPassword>000000</uddiPassword> <uddiAdminPort>6200</uddiAdminPort> </uddi__address></uddi__address__list>
BPSClient中代码:
package com.bps.test;import java.util.*;import com.eos.workflow.api.BPSServiceClientFactory;import com.eos.workflow.api.IBPSServiceClient;import com.eos.workflow.api.IWFWorkItemManager;import com.eos.workflow.data.WFWorkItem;import com.primeton.workflow.api.WFReasonableException;import com.primeton.workflow.api.WFServiceException;public class BPSClient {public static void main(String[] args) throws WFServiceException, WFReasonableException {BPSServiceClientFactory.getLoginManager().setCurrentUser("1001", "tiger");IBPSServiceClient client = BPSServiceClientFactory.getDefaultClient();IWFWorkItemManager workItemManager = client.getWorkItemManager();//创建流程long id =client.getProcessInstManager().createAndStartProcessInstance("com.primeton.test3.newworkflow", "Process A","Process A"); System.out.println("流程实例ID为:"+id);//项目申请 资金为10WList<WFWorkItem> workItemList =workItemManager.queryNextWorkItemsByProcessInstID(id, false);WFWorkItem item = workItemList.get(0);Map<String,Object> map = new Hashtable<String,Object>();map.put("applicant", "tiger");map.put("projectname", "buybook");map.put("account",10);workItemManager.finishWorkItemWithRelativeData(item.getWorkItemID(), map, false);//事业部经理审核通过BPSServiceClientFactory.getLoginManager().setCurrentUser("1001", "tiger");workItemList =workItemManager.queryNextWorkItemsByWorkItemID(item.getWorkItemID(), false);item = workItemList.get(0);map = new Hashtable<String,Object>();map.put("divisionresult",1);workItemManager.finishWorkItemWithRelativeData(item.getWorkItemID(), map, false);//立项并结束BPSServiceClientFactory.getLoginManager().setCurrentUser("1001", "tiger");workItemList =workItemManager.queryNextWorkItemsByWorkItemID(item.getWorkItemID(), false);item = workItemList.get(0);workItemManager.finishWorkItem(item.getWorkItemID(), false);}}
(5)运行结果:
0 0
- Java远程调用BPS流程实现流程运行简单示例
- Java远程调用BPS流程实现流程运行简单示例
- 简单学习rpc -- thrift 远程调用流程简单分析
- hadoop简单运行流程
- dubbo 远程服务调用流程
- BPS中查询我参与的流程
- JAVA运行流程
- java的运行流程
- Java程序运行流程
- java运行流程
- java运行流程
- 【Java】Servlet调用流程
- java-ssh整合之后的运行逻辑(调用流程)
- Mybatis的简单运行流程
- laravel-简单的运行流程
- BPS流程怎样设计业务与流程的结合
- RPC(远程过程调用) JAVA简单实现
- struts2最简单调用流程
- jvm工作原理
- 修改以太网mac地址
- Linux查CPU信息
- VI 使用宏
- TC 快捷键
- Java远程调用BPS流程实现流程运行简单示例
- C宏
- html5 localStorage实现表单本地存储
- C 大端 小端
- LINUX 多线程加锁
- VIM MAP 支持CTRL
- android 6.0的坑
- Gaussian-Bernoulli RBM
- VIM MAP