5、Drools规则引擎-.drl文件的规则语法

简介: 上一章我们讲了Drools的入门,可能很多人看到.drl的规则文件的时候,一脸蒙蔽,本章我们来讲一下规则引擎对应的规则语法
上一章我们讲了Drools的入门,可能很多人看到.drl的规则文件的时候,一脸蒙蔽,本章我们来讲一下规则引擎对应的规则语法

先来看上文中用到的规则文件

package com.echo.drools.dto
import com.echo.drools.dto.User
dialect "java"

rule "address eq beijing"
    when
        $user: User(address == "北京")
    then
         System.out.println($user.getName() + "是个北漂");
    end

rule "address eq shanghai"
    when
        $user: User(address == "上海")
    then
         System.out.println($user.getName() + "是个上漂");
    end

Drools的基础语法

关键字 含义
package 包路径。建议该路径写我们的逻辑代码路径
dialect 语言,指定目前系统语言
import 导入规则文件需要使用到的外部变量,和Java的引入一样
rule 规则体,以rule开头,以end结尾。后面一般会跟一只字符串的值,建议字符串的值写规则名称,或者描述什么规则
when 条件,这里如果为空,则表示eval(true)
then 符合条件之后执行的逻辑
变量名 以$符号开始后面跟我们Java中的对象

部分语法补充

  • 注释的使用,单行// 多行/**/
  • 单个drl文件可以书写多个规则
  • 条件允许为空

更多语法

后面用到在不断补充

目录
相关文章
|
存储 前端开发 Java
一文理解什么是DTO、VO、BO、PO、DO,并推荐一款IDEA转换插件
一文理解什么是DTO、VO、BO、PO、DO,并推荐一款IDEA转换插件
2200 0
一文理解什么是DTO、VO、BO、PO、DO,并推荐一款IDEA转换插件
|
6月前
|
数据采集 人工智能 自然语言处理
AI与就业革命——替代、创造与技能重构
“AI会取代我的工作吗?”这或许是过去三年被问及最多的问题。
1530 0
|
存储 Java 应用服务中间件
Java规则引擎Drools急速入门
Java规则引擎Drools急速入门
12138 0
Java规则引擎Drools急速入门
|
人工智能 数据可视化 测试技术
Coze教程 | 第3章:核心功能 - 智能体(Agent)创建与角色设计
Coze平台的智能体(Agent)是由大语言模型驱动,具备身份、知识、技能和交互能力的AI实体。它通过插件、知识库和工作流扩展功能,适用于客户服务、数据查询、测试辅助等多种场景。智能体支持单Agent自主对话或结构化流程执行,也可多Agent协作处理复杂任务。创建时需选择合适模型并配置参数,通过系统提示词定义角色、技能与限制,并结合知识库、插件和工作流提升专业性与实用性,最终实现高效自然的人机交互。
|
新能源
大盘择时:慎用固定均线!12年回测A股数据揭示择时策略的3大适应性缺陷
动量策略加入50日与200日均线择时后收益下降,主要因均线滞后、逻辑冲突及市场变化。解决方案包括动态调整择时参数、结合多指标验证、优化动量执行细节,提升策略适应性与收益表现。
|
传感器 人工智能 监控
开发一套智慧工地系统需要多少钱?
开发智慧工地系统费用在数万元至数百万元不等,取决于功能需求、开发方式及项目规模。基础模块如人员管理、环境监测、视频监控费用约5万至20万元;扩展功能如无人机巡检、人脸识别等按需添加。开发方式包括模板开发(低成本但个性化差)、定制开发(高成本高适配)及系统源码二开(性价比高)。大型项目、复杂功能及高配硬件将显著提升成本。建议明确核心需求,分阶段建设,选用开放架构系统以降低维护成本。
1359 7
|
Ubuntu Shell 芯片
配置udev规则
本文介绍了如何配置udev规则以解决USB设备别名问题,包括为特定USB设备创建别名、修改设备权限、重新加载udev规则以及设置Python包管理工具pip的镜像源以加速下载。
876 0