启动jboss

这一集提示和技巧将帮助您了解根据需要启动流程实例的最佳方法。

规划项目可能包括流程项目,但是您是否考虑过可以启动流程的各种方式?

也许您的JBoss BPM Suite在您的体系结构中本地运行,也许您在云中运行,但是无论它在哪里,您仍然需要就如何启动流程做出明智的选择。

我们将在这里介绍三种可以最好地启动JBoss BPM流程的基本方法:

  1. UI仪表板
  2. RestAPI
  3. 客户端应用程序(API)

右上角的“构建和部署”按钮。

BPM Suite用户界面

为了完整性,我们不得不提到启动流程实例的功能是以JBoss BPM Suite仪表板工具中的按钮的形式存在的。

登录JBoss BPM Suite之后,您已经完成了项目开发,然后可以按照以下步骤构建和部署BPM项目。

AUTHORING -> PROJECT AUTHORING -> TOOLS -> PROJECT EDITOR -> BUILD&DEPLOY (button)

下一步是以两种方式之一在流程管理透视图中启动流程实例。

1. PROCESS MANAGEMENT -> PROCESS DEFINITIONS -> start-icon2. PROCESS MANAGEMENT -> PROCESS DEFINITIONS -> magnifying-glass-icon -> in DETAILS panel -> NEW INSTANCE (button)

流程定义的右上角有开始图标。

这两种方法都将导致流程实例启动,如果要将数据提交给BPM流程,则会弹出一个启动表单。

RestAPI

假设您打算在从多个可能的位置进行部署之后开始BPM流程,我们希望向您展示如何轻松地整合它们。

流程定义的详细信息视图具有“新实例”按钮。

从Web应用程序,移动应用程序启动流程还是为企业创建后端服务以用作流程的起点都没有关系。 公开的RestAPI提供了触发BPM流程的完美方法,可以在以下代码示例中进行显示。

此示例是一个非常简单的Rest客户端,为清楚起见,它将把可能传递给此类客户端的各种变量直接嵌入到示例代码中。 没有任何变量传递给正在启动的流程,为此,我们将在涵盖客户端应用程序的部分中提供一个更完整的示例。

它发送一个启动流程命令,并且不希望来自被称为“ 客户评估BPM”流程的任何反馈,因为它是“直通流程”(STP)。

public class RestClientSimple {private static final String BASE_URL = "http://localhost:8080/business-central/rest/";private static final String AUTH_URL = "http://localhost:8080/business-central/org.kie.workbench.KIEWebapp/j_security_check";private static final String DEPLOYMENT_ID = "customer:evaluation:1.0";private static final String PROCESS_DEF_ID = "customer.evaluation";private static String username = "erics";private static String password = "bpmsuite";private static AuthenticationType type = AuthenticationType.FORM_BASED;public static void main(String[] args) throws Exception {System.out.println("Starting process instance: " + DEPLOYMENT_ID);System.out.println();// start a process instance with no variables.startProcess();System.out.println();System.out.println("Completed process instance: " + DEPLOYMENT_ID);}/*** Start a process using the rest api start call, no map variables passed.* * @throws Exception*/public static void startProcess() throws Exception {String newInstanceUrl = BASE_URL + "runtime/" + DEPLOYMENT_ID + "/process/" + PROCESS_DEF_ID + "/start";String dataFromService = getDataFromService(newInstanceUrl, "POST");System.out.println("newInstanceUrl:["+newInstanceUrl+"]");System.out.println("--------");System.out.println(dataFromService);System.out.println("--------");}<...SNIPPED MORE CODE...>
}

这里的基础是指向起始 RestAPI调用的业务中心URL的设置。 在主要方法中,可以找到对startProcess()的方法调用,该方法将构建RestAPI URL并捕获从JBoss BPM Suite发送的数据答复。

要查看实现方法的详细信息,请在JBoss BPM Suite和JBoss Fuse Integration Demo项目中完整地参考该类。

测试间奏

构建和部署流程后,对其进行测试的一种简便方法是使用curl通过RestAPI将请求推送到流程。 这样的请求如下所示,首先是通用形式,然后是与上一个示例中使用的相同的客户评估项目的真实运行。

通用的RestAPI调用和正确的身份验证请求在curl中完成,如下所示:

$ curl -X POST -H 'Accept: application/json' -uerics 'http://localhost:8080/business-central/rest/runtime/customer:evaluation:1.1/process/customer.evaluation/start?map_par1=var1↦_par2=var2'

对于客户评估过程,使用curl调用启动过程,对我们的用户进行身份验证并收到JBoss BPM Suite的响应的完整周期应提供以下输出。

$ curl -X POST -H 'Accept: application/json' -uerics 'http://localhost:8080/business-central/rest/runtime/customer:evaluation:1.1/process/customer.evaluation/start?map_employee=erics'Enter host password for user 'erics':  bpmsuite1!{"status":"SUCCESS","url":"http://localhost:8080/business-central/rest/runtime/customer:evaluation:1.1/process/customer.evaluation/start?map_employee=erics","index":null,"commandName":null,"processId":"customer.evaluation","id":3,"state":2,"eventTypes":[]}

我们的卷曲测试结果。

如图所示,我们在流程实例透视图中看到流程实例已完成。

客户申请

启动JBoss BPM Suite流程实例的第三种也是最后一种方法是与注入一堆预定义的提交内容相结合,以填充报告历史记录,并且可以基于历史数据。

此处显示的示例在我们提供的大多数演示项目中均可用,但摘自Mortgage Demo项目 。

该演示客户端正在使用静态数据行,一次将其插入到进程中。 通过一些小的调整,就可以从现有数据源中提取历史数据,并以这种格式注入所需数量的进程。 这也是对过程项目进行压力测试的好方法。

如上所示,我们将跳过会话和流程细节的设置,而是提供到整个演示客户端类的链接,并将这些细节留给读者。

在这里,我们仅关注各个启动过程调用的外观。

public static void populateSamples(String userId, String password, String applicationContext, String deploymentId) {RuntimeEngine runtimeEngine = getRuntimeEngine( applicationContext, deploymentId, userId, password );KieSession kieSession = runtimeEngine.getKieSession();Map processVariables;//qualify with very low interest rate, great credit, non-jumbo loanprocessVariables = getProcessArgs( "Amy", "12301 Wilshire", 333224449, 100000, 500000, 100000, 30 );kieSession.startProcess( "com.redhat.bpms.examples.mortgage.MortgageApplication", processVariables );}

如您所见,最后一行是个人抵押贷款提交被推送到JBoss BPM Suite的位置。 如果检查课程的其余部分,您会发现多个条目是一个接一个地启动的。

我们希望您现在对启动流程并选择最适合您的项目的方式有了很好的了解。

翻译自: https://www.javacodegeeks.com/2014/09/3-essential-ways-to-start-your-jboss-bpm-process.html

启动jboss

启动jboss_3种启动JBoss BPM流程的基本方法相关推荐

  1. 开始JBoss BPM流程的3种基本方法

    这一集提示和技巧将帮助您了解根据需要启动流程实例的最佳方法. 规划项目可能包括流程项目,但是您是否考虑过可以启动流程的各种方式? 也许您的JBoss BPM Suite在您的体系结构中本地运行,也许您 ...

  2. jboss启动初始页面_JBoss BRMS最佳实践– BPM流程初始化层的提示

    jboss启动初始页面 我过去发布过一些有关迁移策略的文章,仔细研究了流程层,并提供了一些有关jBPM的最佳实践 ,它们都涉及到BPM策略的非常具体的部分. 我想重新讨论最佳实践的主题,然后在智能集成 ...

  3. 并注册烧写钩子 获取启动介质类型_一种基于USB烧写的数据传输方法与流程

    本发明涉及嵌入式系统固件量产技术领域,特别涉及嵌入式系统基于USB烧写的固件数据的场景. 背景技术: 嵌入式产品已广泛应用于社会的各行各业,在产品生产过程中,需要将嵌入式系统固件量产到产品设备中. 固 ...

  4. JBoss BRMS最佳实践– BPM流程初始化层的提示

    我过去发布过一些有关迁移策略的文章,仔细研究了流程层,并提供了一些有关jBPM的最佳实践 ,它们都涉及到BPM策略的非常具体的部分. 我想重新讨论最佳实践的主题,然后在智能集成企业级别上,我们讨论使用 ...

  5. JBoss 系列八十: jBPM 6 中使用 jbpm-console 创建执行 BPM 流程 - I

    2019独角兽企业重金招聘Python工程师标准>>> 本文通过如下步骤说明如何在 jBPM console 创建执行BPM流程. 安装jBPM6,添加用户kylin到jBPM 6用 ...

  6. Android:四种启动模式分析

    2019独角兽企业重金招聘Python工程师标准>>> 在一个项目中会包括着多个Activity,系统中使用任务栈来存储创建的Activity实例,任务栈是一种"后进先出& ...

  7. ARM 之九 Cortex-M/R 内核启动过程 / 程序启动流程(基于ARMCC、Keil)

    内核规范   ARM Cortex-M/R 内核的复位启动过程也被称为复位序列(Reset sequence).ARM Cortex-M/R内核的复位启动过程与其他大部分CPU不同,也与之前的ARM架 ...

  8. ARM 之八 Cortex-M/R 内核启动过程 / 程序启动流程(基于IAR)

      在前面的文章<ARM 之 Cortex-M/R 内核启动过程 / 程序启动流程(基于ARMCC)>中已经介绍过了 Cortex-M/R 内核相关内容.这里基于 IAR 的启动流程与之前 ...

  9. WIN8 与WIN7的64位及32位 分别对Legacy BIOS+MBR和UEFI+GPT两种启动方式和分区架构下的安装可行性分析

    微软系统.相关产品官方镜像下载:http://msdn.itellyou.cn/  关于MBR.GPT.ESP.MSR.EFI.UEFI和WIN8中SECURE BOOT的基础知识:   1.MBR分 ...

最新文章

  1. 组合与继承之重写方法和字段
  2. (译)理解 LSTM 网络 (Understanding LSTM Networks by colah)
  3. class12_pack_grid_place 放置位置
  4. 第十六期:Vue 3.0 前瞻,体验 Vue Function API
  5. 搭建分布式环境:Dubbo+Zookeeper
  6. PostgreSQL 视图、子查询
  7. 查找(洛谷P2249题题解,C++语言描述)
  8. 织梦响应式教育机构官网网站模板
  9. java sql变更存储,MySQL更改数据库数据存储目录,mysql数据存储
  10. python怎么调用函数的返回值_python函数的返回值是什么
  11. CoffeeScript 更优美的Javascript
  12. html table 表格
  13. 程序入口地址的直接定制表【 (1) 清屏(2) 设置前景色 (3) 设置背景色 (4) 向上滚动一行】...
  14. python爬虫定时运行_python 爬虫 定时计划任务
  15. 计算机毕业设计ssm校园办公管理系统
  16. dump文件 linux,Linux下快速分析DUMP文件
  17. funCode课程实训(C++ )
  18. MMA8452Q 三轴加速度传感器驱动
  19. license.xml
  20. 对于课程签到设置合理性的调查报告

热门文章

  1. codeforces1453 D. Checkpoints
  2. [XSY4220] 九万步(结论)
  3. 25、jdbc操作数据库(2)
  4. 使用Docker Swarm搭建分布式爬虫集群
  5. 阿里巴巴制定了这 16 条
  6. 一文告诉你 Java RMI 和 RPC 的区别
  7. JDK8之新特性扩展篇
  8. 当你左右看看没有发现我时,千万千万别往看……
  9. 《金色梦乡》金句摘抄(五)
  10. 重写(override / overwrite)