当前位置: 首页 > 知识库问答 >
问题:

drools bpmn java语法

饶谦
2023-03-14
        KieServices ks = KieServices.Factory.get();
        KieContainer kContainer = ks.getKieClasspathContainer();
        KieSession kSession = kContainer.newKieSession("ksession-process");
        kSession.insert(myTicket);
        kSession.startProcess("com.sample.bpmn.hello");
        kSession.fireAllRules();

如果我想用java编写而不是按常规编写的话,如何在BPMN Gateway diverge约束中使用varaible myTicket:(m:Ticket(status==Ticket.create))。

共有1个答案

钮高朗
2023-03-14

事实(在KIE会话中断言的对象)在jbpm范围内不可用(唯一的例外可能是使用DRL语法的网关)。您可以使用一些变通方法从会话中获取这些事实之一并在网关中使用它,但是如果您在启动流程之前已经有了该对象(至少这是您的示例所显示的),您可以将该对象作为流程变量传递。

Map<String, Object> variables = new HashMap<>();
variables.put("ticket", myTicket);
kSession.startProcess("com.sample.bpmn.hello", variables);

您的过程定义必须有一个变量,该变量的名称为myticket类型为ticket

在您的网关中,您不需要任何特殊语法来引用该变量:

return ticket.getStatus() == Ticket.CREATE;
 类似资料:
  • 主要内容:1. 生产参数,2. 缩进空间,3. 分离空间,4. 忽略行前缀,5. 折叠线在本章中,将了解YAML中语法原语的以下几个方面 - 生产参数 缩进空间 分离空间 忽略的行前缀 折叠线 下面来详细地了解每个方面。 1. 生产参数 生产参数包括一组参数以及在特定生产中使用的允许值范围。 YAML中使用以下生产参数列表 - 缩进 它由字符或表示字符流取决于其中包含的块的缩进级别。 许多生产都参数化了这些功能。 上下文 它由表示,YAML支持两组上下文:块样式和流样式。 样式 它由

  • 这一部分将 Rust 拆成小的部分,每一部分对应一个概念。 如果你想要自底向上的学习 Rust,按顺序阅读这一部分将会有很大帮助。 这些部分也组成了一个对各种概念的参考,所以如果你阅读其它教程并发现一些迷惑的问题,你可以在这里找到一些解释。

  • 我想用javascript/php实现法语、俄语等外语的拼写更正。对于英语拼写检查器,我可以使用编辑距离算法从英语词典中检索单词(词典是使用Trie构建的),并返回最频繁的单词。我还找到了关于这方面的文章,例如。http://stevehanov.ca/blog/index.php?id=114.我认为对于外语来说,同样的方法也是有用的。 我相信必须为不同的语言提供API,但我不想在我的应用程序中

  • 主要内容:第一个Dart语序,Dart命令行选项,启用检查模式,Dart标识符,Dart关键字,Dart注释,Dart面向对象编程语法定义了一组用于编写程序的规则。每种语言规范都定义了自己的语法。Dart程序代码由以下组成 - 变量和运算符 类 函数 表达式和编程构造 决策和循环结构 注解 库和包 类型定义 数据结构 - 集合/泛型 第一个Dart语序 函数是Dart中的预定义方法。此方法充当应用程序的入口点。Dart脚本需要方法来执行。是一个预定义的函数,它将指定的字符串或值打印到标准输出(即

  • 主要内容:R命令提示符,R脚本文件,注释学习一个新编程语言的惯例是什么?,当然是编写一个“Hello,World!”,下面我们将演示如何使用R编程编写一个“Hello,World!”程序。根据需要,您可以在R命令提示符下编程,也可以使用R脚本文件编写程序。 R命令提示符 当安装好了R开发环境以后,那么通过在命令提示符下键入以下命令,就可以启动R命令提示符 - 或者,在Windows系统下 - 这将启动R解释器,您将获得一个提示您可以在以

  • 上一章节我们已经了解了 Go 语言的基本组成结构,本章节我们将学习 Go 语言的基础语法。 Go 标记 Go 程序可以由多个标记组成,可以是关键字,标识符,常量,字符串,符号。如以下 GO 语句由 6 个标记组成: fmt.Println("Hello, World!") 6 个标记是(每行一个): 1. fmt 2. . 3. Println 4. ( 5. "Hello, World!"

  • 顾名思义,一个命令式语言是由一个个“命令”为单元组成,不过一般很少用命令这个词,而是细分一下,比较低级的语言用指令(instruction),高低的语言一般认为是一个语句(statement,以后简称stmt),词法分析只将一段高级语言代码分解成一个个词,接下来还要做语句层面的分析,最终目标是生成抽象语法树(ast) 代码: a = 1; s = 0; while (a <= 100)

  • 问题内容: 为什么Python在第9行的简单语句中给我一个语法错误? Python的版本是: 问题答案: 在Python 3中,print是一个函数,您需要像这样调用它。