JBPM—Kieserver详解

Kieserver功能介绍

kiserver是我们的定义的业务流程和业务规则的执行的地方,他提供执行引擎,来解释执行这些流程和规则

kie-server就是一个war包,可以部署到我们的web服务器上,比如tomcat或者wildfly(Jboss 服务器的As版本,轻装型的),因为JBPM和wildfly本自同根生的缘故,所以默认是wildfly

每个kieserver都有一个Controller这个Controller会提供restful风格的API供我们调用,

我们可以通过这些接口,看到这个kie-server上部署的项目和工作流定义,然后还可以通过接口去实例化这些流程,控制流程,

当然上面我也演示了,可以通过business-central的UI界面去做这些操作,

这里是可以通过接口的,就是让我们二次开发调用使用的。

至于如何获得上面所说的的API呢,当我们的kie-server被启动后可以通过下面的链接:http://XXXX:8080/kie-server/docs/

在这里插入图片描述
如上图所示API都在上面了,

请求类型地址参数注解
GETlocalhost:8090/rest/server/containers获取容器定义列表
GETlocalhost:8090/rest/server/containers/{containerId}/processescontainerId: 容器id获取相应容器的流程列表
GETlocalhost:8090/rest/server/containers/{containerId}/processes/instances检查实例话的流程列表
GETlocalhost:8090/rest/server/containers/{containerId}/processes/instances/{processInstancesId}?withVars=trueprocessInstancesId:流程实例id;withVars: 是否加载流程实例变量返回指定容器中流程实例信息
GETlocalhost:8090/rest/server/containers/{containerId}/processes/instances/{processInstancesId}/workitems查看路程实例的工作项(用户任务)
POSTlocalhost:8090/rest/server/containers/{containerId}/processes/{processId}/instancesprocessId: 流程id创建流程实例
PUTlocalhost:8090/rest/server/containers/{containerId}/processes/instances/{processInstancesId}/workitems/{workItemId}/completedworkItemId:工作项id完成制定工作项

这里只枚举了常用的API接口,不是很全,详细的接口或参数信息在http://10.116.18.196:8080/kie-server/docs/中查看!

Kieserver系統属性详解


Kieserver一般都会进行托管管理,当我们的Business Central 和 Kieserver 分开部署的时候。大致的意思是我们可以有多个kieserver 一般都会注册到统一管理平台上,比如我们的Business Central,所有的Kieserver都可以注册到Business Central上。大致的原理就是:Business会暴露出来一个RESTFUL的接口叫Controller,然后Kieserver会通过这个接口进行注册到business 上。
效果如下图所示:
在这里插入图片描述

PropertyValueDescriptionRequired
org.drools.server.ext.disabledboolean (default is “false”)是否支持BRM流程(True-不支持,False-支持)NO
org.jbpm.server.ext.disabledboolean (default is “false”)是否支持BPM流程(True-不支持,False-支持)NO
org.jbpm.ui.server.ext.disabledboolean (default is “false”)是否支持BPM UI(True-不支持,False-支持)NO
org.optaplanner.server.ext.disabledboolean (default is “false”)是否支持BRP(True-不支持,False-支持)NO
org.kie.executor.disabledboolean (default is “false”)是否支持执行BPM业务流程(True-不支持,False-支持)NO
org.kie.server.idStringkieserver的ID,当连接并注册了Controller之后会在注册中心显示这个IDNO,不指定会给默认的
org.kie.server.userString(默认是“kieserver”)Controller连接Kieserver的时候用户名NO
org.kie.server.pwdString (默认是“kieserver1!”)Controller链接Kieserver的时候用的密码NO
org.kie.server.controllerString,多个用逗号分开Kieserver要注册的Business的地址列表例如: http://localhost:8080/business-central/rest/controller是(当使用JBPM controller时)
org.kie.server.controller.userString(默认是“kieserver”)连接Controller用的用户名是(当使用JBPM controller时)
org.kie.server.controller.pwdString (默认是“kieserver1!”)连接Controller的密码是(当使用JBPM controller时)
org.kie.server.locationKie服务器的URL的位置JBPM Controller会通过这个URL回调kieserver是(当使用JBPM controller时)
org.kie.server.domainString使用JMS时应用于认证用户的JAAS的LoginContxt域NO
org.kie.server.bypass.auth.userboolean (default is “false”)允许绕过需要身份验证的操作,例如查询NO
org.kie.server.repoString 有效的文件系统路径maven的repository的地址NO
org.kie.server.persistence.dsString数据源JNDI的名称Yes,当支持BPM流程时
org.kie.server.persistence.tmString用于Hibernate属性集的事务管理器平台Yes,当支持BPM流程时
org.kie.server.persistence.dialectStringHibernate的持久化方言如:org.hibernate.dialect.MySQL5InnoDBDialectYes,当支持BPM流程时
org.jbpm.ht.callbackString任务支持的回调之一(默认Jass)No
org.jbpm.ht.custom.callbackString在org.jbpm.ht.callback设置为’custom’的情况下UserGroupCallback的自定义实现NO
kie.maven.settings.customString指定Maven的Settings.xml的位置NO
org.kie.executor.intervalInteger默认为0指定两次轮询之间的时间间隔NO
org.kie.executor.pool.sizeInteger默认为1池中用于异步工作的线程数NO
org.kie.executor.retry.countInteger默认为3重试处理错误的次数NO
org.kie.executor.timeunitTimeUnit(默认为“SECONDS”)时间单位NO
org.kie.executor.disabledboolean (default is “false”)完全禁用executorNO
kie.server.jms.queues.responseString(默认为“ queue / KIE.SERVER.RESPONSE”)JMS响应队列的JNDI的名称NO
org.kie.server.controller.connectlong(默认为10000)kieserver启动时连接Controller时的轮询间隔(毫秒为单位)NO

Kieserver

执行服务器,为定义的BPM或者BRM提供运行时环境,这些功能都是由Kie Server Extension提供,一个Kieserver实例化并提供多个Kie Containers的支持。

Kie Server Extension

Kie Server 的“插件”,用于向服务器添加功能。Kie Server随附两个默认的Kie Server拓展:BRM和BPM

Kie Container

Kjar在内存中的实例化,KieServer通过诸如REST和JMS之类的传输协议通过标准API公开Kie容器

Controller

服务支持的REST端点,负责管理KieServer实例,该端点必须提供以下功能:

  • 响应连接请求
  • 在相应的Kie Server ID上同步所有已注册的容器
  • 响应断开请求

Kie Server 状态

给定Kie Server实例的当前已知状态。这是本地存储(默认情况下在文件中),维护以下信息:

  • 已注册的JBPM控制器列表
  • 已知容器列表
  • Kie 服务器配置
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值