Flowable入门系列文章192 - 启用安全的BPMN 2.0 xml和事件记录

2023-10-20 08:30

本文主要是介绍Flowable入门系列文章192 - 启用安全的BPMN 2.0 xml和事件记录,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、启用安全的BPMN 2.0 xml

在大多数情况下,部署到Flowable引擎的BPMN 2.0流程受到开发团队的严格控制。但是,在某些使用情况下,可能需要将任意BPMN 2.0 xml上载到引擎。在这种情况下,请考虑到意图不好的用户可以按照此处所述的方法关闭服务器。
为避免上述链接中描述的攻击,可以在流程引擎配置上设置属性enableSafeBpmnXml:

<property name="enableSafeBpmnXml" value="true"/>

默认情况下,此功能已禁用! 这是因为它依赖于StaxSource类的可用性。不幸的是,在某些平台上(例如JDK 6,JBoss等),这个类是不可用的(由于旧的XML解析器实现),因此无法启用安全的BPMN 2.0 xml功能。

如果Flowable运行的平台确实支持它,请启用此功能。

2、事件记录

事件记录机制已经被引入。日志机制建立在Flowable引擎的通用事件机制上,默认情况下是禁用的。这个想法是捕获来自引擎的事件,并且包含所有事件数据(以及更多)的映射被创建并提供给org.flowable.engine.impl.event.logger.EventFlusher,其将刷新该数据去别的地方 默认情况下,使用简单的数据库支持的事件处理程序/冲洗器,它使用Jackson将所述映射序列化为JSON,并将其作为EventLogEntryEntity实例存储在数据库中。此数据库日志记录所需的表是默认创建的(调用 ACT_EVT_LOG)。如果不使用事件日志记录,则可以删除此表。

启用数据库记录器:

processEngineConfigurationImpl.setEnableDatabaseEventLogging(true);

或者在运行时:

databaseEventLogger = new EventLogger(processEngineConfiguration.getClock(),
processEngineConfiguration.getObjectMapper());
runtimeService.addEventListener(databaseEventLogger);

EventLogger类可以扩展。特别是,如果不需要默认数据库日志记录,那么createEventFlusher ()方法需要返回org.flowable.engine.impl.event.logger.EventFlusher接口的一个实例。所述managementService.getEventLogEntries(startLogNr,大小);可以用来通过Flowable 检索EventLogEntry实例。

很容易看出这个表数据现在如何用于将JSON提供给大数据NoSQL存储,如MongoDB,弹性搜索等等。也很容易看出这里使用的类(org.flowable.engine。 impl.event.logger.EventLogger / EventFlusher和许多EventHandler类)是可插入的,可以根据自己的用例进行调整(例如,不将JSON存储在数据库中,而是直接将其发送到队列或大数据存储区)。

请注意,此事件记录机制是Flowable 的传统历史记录管理器的补充。虽然所有的数据都在数据库表中,但它并不是针对查询进行优化的,也不便于检索。真正的用例是审计跟踪,并将其提供给大数据存储。

上面文章来自盘古BPM研究院:http://vue.pangubpm.com/
文章翻译提交:https://github.com/qiudaoke/flowable-userguide
了解更多文章可以关注微信公众号:在这里插入图片描述

这篇关于Flowable入门系列文章192 - 启用安全的BPMN 2.0 xml和事件记录的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/245919

相关文章

SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志

《SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志》在SpringBoot项目中,使用logback-spring.xml配置屏蔽特定路径的日志有两种常用方式,文中的... 目录方案一:基础配置(直接关闭目标路径日志)方案二:结合 Spring Profile 按环境屏蔽关

统一返回JsonResult踩坑的记录

《统一返回JsonResult踩坑的记录》:本文主要介绍统一返回JsonResult踩坑的记录,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录统一返回jsonResult踩坑定义了一个统一返回类在使用时,JsonResult没有get/set方法时响应总结统一返回

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

java对接海康摄像头的完整步骤记录

《java对接海康摄像头的完整步骤记录》在Java中调用海康威视摄像头通常需要使用海康威视提供的SDK,下面这篇文章主要给大家介绍了关于java对接海康摄像头的完整步骤,文中通过代码介绍的非常详细,需... 目录一、开发环境准备二、实现Java调用设备接口(一)加载动态链接库(二)结构体、接口重定义1.类型

Java中常见队列举例详解(非线程安全)

《Java中常见队列举例详解(非线程安全)》队列用于模拟队列这种数据结构,队列通常是指先进先出的容器,:本文主要介绍Java中常见队列(非线程安全)的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录一.队列定义 二.常见接口 三.常见实现类3.1 ArrayDeque3.1.1 实现原理3.1.2

Python中OpenCV与Matplotlib的图像操作入门指南

《Python中OpenCV与Matplotlib的图像操作入门指南》:本文主要介绍Python中OpenCV与Matplotlib的图像操作指南,本文通过实例代码给大家介绍的非常详细,对大家的学... 目录一、环境准备二、图像的基本操作1. 图像读取、显示与保存 使用OpenCV操作2. 像素级操作3.

apache的commons-pool2原理与使用实践记录

《apache的commons-pool2原理与使用实践记录》ApacheCommonsPool2是一个高效的对象池化框架,通过复用昂贵资源(如数据库连接、线程、网络连接)优化系统性能,这篇文章主... 目录一、核心原理与组件二、使用步骤详解(以数据库连接池为例)三、高级配置与优化四、典型应用场景五、注意事

mybatis的mapper对应的xml写法及配置详解

《mybatis的mapper对应的xml写法及配置详解》这篇文章给大家介绍mybatis的mapper对应的xml写法及配置详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,... 目录前置mapper 对应 XML 基础配置mapper 对应 xml 复杂配置Mapper 中的相

SpringBoot实现文件记录日志及日志文件自动归档和压缩

《SpringBoot实现文件记录日志及日志文件自动归档和压缩》Logback是Java日志框架,通过Logger收集日志并经Appender输出至控制台、文件等,SpringBoot配置logbac... 目录1、什么是Logback2、SpringBoot实现文件记录日志,日志文件自动归档和压缩2.1、

qtcreater配置opencv遇到的坑及实践记录

《qtcreater配置opencv遇到的坑及实践记录》我配置opencv不管是按照网上的教程还是deepseek发现都有些问题,下面是我的配置方法以及实践成功的心得,感兴趣的朋友跟随小编一起看看吧... 目录电脑环境下载环境变量配置qmake加入外部库测试配置我配置opencv不管是按照网上的教程还是de