zoukankan      html  css  js  c++  java
  • kie-api介绍和使用

    参考:KIE

    kie在drools jbpm uberfire里广泛被使用,下面对kie-api中的几个重要组件做下简单介绍

    maven依赖

    <dependency>
    <groupId>org.kie</groupId>
    <artifactId>kie-api</artifactId>
    <version>6.0.2.Final</version>
    </dependency>

    几个组件

    KieServices:kie整体的入口,可以用来创建Container,resource,fileSystem等

    KieContainer: KieContainer就是一个KieBase的容器,可以根据kmodule.xml 里描述的KieBase信息来获取具体的KieSession
    KieBase: KieBase就是一个知识仓库,包含了若干的规则、流程、方法等,在Drools中主要就是规则和方法,KieBase本身并不包含运行时的数据之类的,如果需要执行规则KieBase中的规则的话,就需要根据KieBase创建KieSession
    KieSession:KieSession就是一个跟Drools引擎打交道的会话,其基于KieBase创建,它会包含运行时数据,包含“事实 Fact”,并对运行时数据事实进行规则运算

    KieModule:是一个包含了多个kiebase定义的容器。一般用kmodule.xml来表示

    KieModuleModel:是kmodule.xml 文件的java表示,可以不用添加xml文件而是通过程序代码的方式来构建,
    KieFileSystem:一个完整的文件系统,包括资源和组织结构 

    KieBuilder:当把所有的规则文件添加到KieFileSystem中后,通过把KieFileSystem传递给一个KieBuilder,可以构建出这个虚拟文件系统。其中有个buildAll()方法,会在构建好虚拟文件系统后,自动去构建KieModule

    KieRepository:是一个KieModule的仓库,包含了所有的KieModule描述,用一个ReleaseId做区分

    KieResources:是一个定义了如何获取资源的工厂,包括url,classpath,filesystem等

    kiemodule.xml大概是一个样子大概如下的xml:

    <kmodule xmlns="http://jboss.org/kie/6.0.0/kmodule">
     <kbase name="rules" packages="rules">
     <ksession name="ksession-rules"/>
     </kbase>
     <kbase name="dtables" packages="dtables">
     <ksession name="ksession-dtables"/>
     </kbase>
     </kmodule>
     kbase name:名字唯一标示
    packages:资源文件所在的目录
     ksession name:唯一标识
  • 相关阅读:
    原生小程序音频播放
    Vue定义全局过滤器filter
    系统扩展性之引入外部包
    oracle update join
    OAuth2
    oracle pl/sql
    MySQL同步工具otter的使用介绍(一)
    python批量安装apk
    mac brew安装redis
    antd 修改Modal的底部按钮颜色
  • 原文地址:https://www.cnblogs.com/yuebintse/p/5768052.html
Copyright © 2011-2022 走看看