Java远程调用BPS流程实现流程运行简单示例

简介:略

2、背景:略

3、目的:自我学习笔记

4、实现过程

(1)、画出流程图 如下:



路由活动分支下的条件语句为复杂表达式:

[java]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  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:

[html]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2.   
  3. <uddi__address__list>    
  4.   <uddi__address id="default">  
  5.     <name>localserver</name>  
  6.     <logicName>default</logicName>  
  7.     <type>remote</type>  
  8.     <description>uddi-config.xml at " Work Space"</description>  
  9.     <uddiHost>127.0.0.1</uddiHost>  
  10.     <uddiPort>8080</uddiPort>  
  11.     <uddiWebContext>default</uddiWebContext>  
  12.     <uddiUserID>bps</uddiUserID>  
  13.     <uddiPassword>000000</uddiPassword>  
  14.     <uddiAdminPort>6200</uddiAdminPort>  
  15.   </uddi__address>  
  16. </uddi__address__list>  

BPSClient中代码:
(注意:客户端代码执行前必须确保流程定义正确、已经提交流程、已经启动BPS服务器端)

[java]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. package com.bps.test;  
  2.   
  3. import java.util.*;  
  4.   
  5. import com.eos.workflow.api.BPSServiceClientFactory;  
  6. import com.eos.workflow.api.IBPSServiceClient;  
  7. import com.eos.workflow.api.IWFWorkItemManager;  
  8. import com.eos.workflow.data.WFWorkItem;  
  9. import com.primeton.workflow.api.WFReasonableException;  
  10. import com.primeton.workflow.api.WFServiceException;  
  11.   
  12. public class BPSClient {  
  13.   
  14.     public static void main(String[] args) throws WFServiceException, WFReasonableException {  
  15.           
  16.         BPSServiceClientFactory.getLoginManager().setCurrentUser("1001""tiger");  
  17.         IBPSServiceClient client = BPSServiceClientFactory.getDefaultClient();  
  18.         IWFWorkItemManager workItemManager = client.getWorkItemManager();  
  19.           
  20.         //创建流程  
  21.         long  id =client.getProcessInstManager().  
  22.                 createAndStartProcessInstance("com.primeton.test3.newworkflow",  
  23.                                               "Process A","Process A");             
  24.         System.out.println("流程实例ID为:"+id);  
  25.           
  26.         //项目申请 资金为10W  
  27.         List<WFWorkItem> workItemList =workItemManager.queryNextWorkItemsByProcessInstID(id, false);  
  28.         WFWorkItem item = workItemList.get(0);  
  29.         Map<String,Object> map = new Hashtable<String,Object>();  
  30.         map.put("applicant""tiger");  
  31.         map.put("projectname""buybook");  
  32.         map.put("account",10);  
  33.         workItemManager.finishWorkItemWithRelativeData(item.getWorkItemID(), map, false);  
  34.           
  35.         //事业部经理审核通过  
  36.         BPSServiceClientFactory.getLoginManager().setCurrentUser("1001""tiger");  
  37.         workItemList =workItemManager.queryNextWorkItemsByWorkItemID(item.getWorkItemID(), false);  
  38.         item = workItemList.get(0);  
  39.         map = new Hashtable<String,Object>();  
  40.         map.put("divisionresult",1);  
  41.         workItemManager.finishWorkItemWithRelativeData(item.getWorkItemID(), map, false);  
  42.   
  43.         //立项并结束  
  44.         BPSServiceClientFactory.getLoginManager().setCurrentUser("1001""tiger");  
  45.         workItemList =workItemManager.queryNextWorkItemsByWorkItemID(item.getWorkItemID(), false);  
  46.         item = workItemList.get(0);  
  47.         workItemManager.finishWorkItem(item.getWorkItemID(), false);  
  48.           
  49.   
  50.     }  
  51.   
  52. }  

(5)运行结果:




0
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值