Java远程调用BPS流程实现流程运行简单示例
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)运行结果:
Java远程调用BPS流程实现流程运行简单示例相关推荐
- java 调用服务器文档,JAVA远程调用服务器端方法
JAVA远程调用服务器端方法 内容精选 换一换 Windows Server 2012 R2操作系统弹性云服务器,本地使用远程桌面连接功能连接云服务器并启用redirected drive功能时,云服 ...
- javaweb调用python算法_请教怎么用java远程调用python? 多谢
请问如何用java远程调用python? 谢谢! 本帖最后由 blackkettle 于 2015-05-07 13:00:41 编辑 比如有一台机器 A上安装了python, 另一台机器B要用jav ...
- Java远程调用WebService接口
WebService简介 Web Service技术, 能使得运行在不同机器上的不同应用无须借助附加的.专门的第三方软件或硬件, 就可相互交换数据或集成.依据Web Service规范实施的应用之间, ...
- java使用2种方法操作liberoffice把word转pdf,pdf加水印,java远程调用Linux执行命令
文章目录 libreoffice下载地址 安装 (第一种) java调用 (第二种 推荐) java调用Linux命令转pdf java远程连接Linux执行命令(少数情况) linux安装windo ...
- java远程调用笔记
2019独角兽企业重金招聘Python工程师标准>>> 1.远程调用 常用的远程调用:webservice,二进制协议,Restful webservice:本质上就是http+so ...
- java过程调用语句_Java之流程控制语句
一.Java条件语句(if...else) ifelse语法: 多重if语法: ...
- java远程调用linux的命令或者脚本
为什么80%的码农都做不了架构师?>>> 转载请出自出处: http://eksliang.iteye.com/blog/2105862 Java通过SSH2协议执行远程She ...
- java 远程调用url_使用Java的URL/HttpURLConnection进行远程调用(POST请求)
利用Java的HttpURLConnection进行远程url请求(调用远程接口) 测试类:请求类型为json,以post方式请求,利用OutputStream写入数据 实体类:public clas ...
- perl java远程调用函数调用_如何从Java调用Perl?
Inline-Java是从Perl调用java的常用库,以及这个应该允许从Java调用Perl的post propose a org.perl.java模块. 但是,由于不同 JVM的JNI实现的不可 ...
最新文章
- 如何在PHP中保护数据库密码?
- 设计模式C++实现(7)——外观模式、组合模式
- Zend Server更新至6.2版本——虚拟主机全方位管理
- 第二章 数据的表示和运算 2.1.2 BCD码 [计算机组成原理笔记]
- QT+OpenCV综合示例:载入、读取图片
- Ethercat解析(十五)之程序框架
- 南京大学python_python split()函数
- CUDA ---- Hello World From GPU
- [毕设分享]基于华为eNSP的校园网设计和仿真模拟
- 新电脑配置不低却还是卡顿,你知道原因吗?
- Word文档压缩的方法
- java编写投票功能需求分析
- 如何查询域名whois?域名whois查询能获得哪些信息
- win10下装win7双系统_win 7 xp双系统的安装(或者win10) 教程
- 最新公路测量计算机,工地通路测电脑版
- CCNP精粹系列之二十九--发布bgp子网信息,推荐
- Linux游戏 0 A.D安装及汉化
- Cryptohack-Backpack Cryptography
- 练习------复仇者联盟(设置一个立体盒子)
- 基于stm32f407的智能风扇系统
热门文章
- 【26个字母和数字符号ASCII码对照表】
- win10系统无法加载操作系统且自动恢复失败的解决方案
- 北京甲骨文java_北京海淀甲骨文java企业项目
- App地推效果差?你可能缺少渠道效果统计
- K3+note+android+6.0,联想k3note升级Android 6.0教程[多图]
- Python笔记六、文件和数据格式化
- 股票自选股基本函数大全-5
- Oracle XE版安装与用户操作
- react根据中文获取拼音_解决 React 中的 input 输入框在中文输入法下的 bug
- 2020年中国中医针灸行业发展现状及未来发展前景分析,国家政策扶持,针灸行业发展前景良好「图」