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

相关文章

在Spring Boot中浅尝内存泄漏的实战记录

《在SpringBoot中浅尝内存泄漏的实战记录》本文给大家分享在SpringBoot中浅尝内存泄漏的实战记录,结合实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录使用静态集合持有对象引用,阻止GC回收关键点:可执行代码:验证:1,运行程序(启动时添加JVM参数限制堆大小):2,访问 htt

MySQL 中查询 VARCHAR 类型 JSON 数据的问题记录

《MySQL中查询VARCHAR类型JSON数据的问题记录》在数据库设计中,有时我们会将JSON数据存储在VARCHAR或TEXT类型字段中,本文将详细介绍如何在MySQL中有效查询存储为V... 目录一、问题背景二、mysql jsON 函数2.1 常用 JSON 函数三、查询示例3.1 基本查询3.2

使用Python将JSON,XML和YAML数据写入Excel文件

《使用Python将JSON,XML和YAML数据写入Excel文件》JSON、XML和YAML作为主流结构化数据格式,因其层次化表达能力和跨平台兼容性,已成为系统间数据交换的通用载体,本文将介绍如何... 目录如何使用python写入数据到Excel工作表用Python导入jsON数据到Excel工作表用

Python从零打造高安全密码管理器

《Python从零打造高安全密码管理器》在数字化时代,每人平均需要管理近百个账号密码,本文将带大家深入剖析一个基于Python的高安全性密码管理器实现方案,感兴趣的小伙伴可以参考一下... 目录一、前言:为什么我们需要专属密码管理器二、系统架构设计2.1 安全加密体系2.2 密码强度策略三、核心功能实现详解

Python获取中国节假日数据记录入JSON文件

《Python获取中国节假日数据记录入JSON文件》项目系统内置的日历应用为了提升用户体验,特别设置了在调休日期显示“休”的UI图标功能,那么问题是这些调休数据从哪里来呢?我尝试一种更为智能的方法:P... 目录节假日数据获取存入jsON文件节假日数据读取封装完整代码项目系统内置的日历应用为了提升用户体验,

微信公众号脚本-获取热搜自动新建草稿并发布文章

《微信公众号脚本-获取热搜自动新建草稿并发布文章》本来想写一个自动化发布微信公众号的小绿书的脚本,但是微信公众号官网没有小绿书的接口,那就写一个获取热搜微信普通文章的脚本吧,:本文主要介绍微信公众... 目录介绍思路前期准备环境要求获取接口token获取热搜获取热搜数据下载热搜图片给图片加上标题文字上传图片

C#如何动态创建Label,及动态label事件

《C#如何动态创建Label,及动态label事件》:本文主要介绍C#如何动态创建Label,及动态label事件,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C#如何动态创建Label,及动态label事件第一点:switch中的生成我们的label事件接着,

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

Spring Boot 配置文件之类型、加载顺序与最佳实践记录

《SpringBoot配置文件之类型、加载顺序与最佳实践记录》SpringBoot的配置文件是灵活且强大的工具,通过合理的配置管理,可以让应用开发和部署更加高效,无论是简单的属性配置,还是复杂... 目录Spring Boot 配置文件详解一、Spring Boot 配置文件类型1.1 applicatio

MySQL INSERT语句实现当记录不存在时插入的几种方法

《MySQLINSERT语句实现当记录不存在时插入的几种方法》MySQL的INSERT语句是用于向数据库表中插入新记录的关键命令,下面:本文主要介绍MySQLINSERT语句实现当记录不存在时... 目录使用 INSERT IGNORE使用 ON DUPLICATE KEY UPDATE使用 REPLACE