官网地址:http://jmeter.apache.org/
下载地址:http://jmeter.apache.org/download_jmeter.cgi
下载慢可以更换其他镜像地址下载
启动方式:下载后,启动bin目录下的jmeter.bat (windows)
修改jmeter为中文临时:Options -> Choose Language -> Chinese(Simplified)
永久:在bin目录下找到配置文件jmeter.properties,
搜索language,将language=en,改为language=zh_CN
操作:
创建压测计划(Hello World)
(1)测试计划(右键)-> 添加 -> 线程(用户) -> setUp线程组
(2)线程数和Ramp-up时间 都填写 10
(3)线程组右键 -> 添加 -> 取样器 -> HTTP请求 -> 填写服务器ip,端口号,路径
(4)如果需要添加头信息,在配置元件中->HTTP信息头管理器
(5)线程组右键 -> ...
业务中需要复杂的规则判断,或者flowable无法满足规则需求,或者需要调用自己的规则服务做判断
编写一个规则服务123456789101112131415161718192021@Component@Slf4jpublic class RuleService { @Autowired private RuleEngineService ruleEngineService; public boolean execute(String ruleExpression, DelegateExecution execution) { log.info("开始执行规则 ================> {}", ruleExpression); Map<String, Object> variables = execution.getVariables();//获取全局变量 Map<String, Object> variablesLocal = ...
官方文档地址:https://mp.baomidou.com/guide/dynamic-datasource.html#%E6%96%87%E6%A1%A3-documentation
1. 常规使用
引入dynamic-datasource-spring-boot-starter
12345<dependency> <groupId>com.baomidou</groupId> <artifactId>dynamic-datasource-spring-boot-starter</artifactId> <version>${version}</version></dependency>
配置数据源
1234567891011121314151617181920212223spring: datasource: dynamic: primary: master #设置默认的数据源或者数据源组,默认值即为master stric ...
flowable已经存在一些通用的流程属性,在业务中常有自定义的属性,本节内容主要记录,如何创建自定义标签,获取标签中的内容,在流程事件中获取自定义属性,并做相应的处理
设置自定义属性 首先我们自定义的属性要使用flowable的api获取并解析,需要贵自定义属性标签做如下规范
自定义标签必须放在<extensionElements>标签内
标签名必须以flowable:开头
标签的属性值最好使用<![CDATA[]]>包裹起来,防止有特殊字符导致flowable解析出错
123<extensionElements> <flowable:selfDefAttr_startCondition><![CDATA[formValue.f1>3&&bizObj.a=="xxx"]]></flowable:selfDefAttr_startCondition></extensionElements>
获取自定义属性
获取流程定义id(processDef ...
事件处理器主要用于工作流引擎处理相应的操作时,通知到程序,程序中可以根据业务需求编写处理逻辑
实现事件监听器需要实现org.flowable.common.engine.api.delegate.event.FlowableEventListener接口
可以被监听的对象entityType可用的值有:attachment(附件), comment(备注), execution(执行), identity-link(身份关联), job(作业), process-instance(流程实例), process-definition(流程定义), task(任务)。
支持的事件类型每种类型对应org.flowable.engine.common.api.delegate.event.FlowableEventType中的一个枚举值
事件名称
说明
ENGINE_CREATED
本监听器所属的流程引擎已经创建,并可以响应API调用。
ENGINE_CLOSED
本监听器所属的流程引擎已经关闭,不能再对该引擎进行API调用。
ENTITY_CREATED
新的实体已经创建 ...
需求在实际项目使用flowable时,一般公司都有自己的人员权限系统,并不会直接使用flowable的idm模块,本节内容记录,如何让flowable调用自己的权限系统
idm基本操作核心类:IdentityService通过该类可以获取,在流程的整个生命周期中的相关人,和组信息
例如:
获取可提交流程的人:
1List<User> authorizedUsers = identityService.getPotentialStarterUsers(processDefId);
获取组内的人:
1List<User> userList = identityService.createUserQuery().memberOfGroups(groupIds).list();
两个核心的方法,createUserQuery()和createUserQuery(),用来构建获取人和组的方法
实现类IdmIdentityServiceImpl上面人员权限认证服务的默认实现类
1public class IdmIdentityServiceImpl extends Co ...
简介轻量级工作流引擎,使用Java编写,Flowable是Activiti的fork
github地址:https://github.com/flowable/flowable-engine
开源文档:https://wwv.flowable.com/open-source/docs/bpmn/ch02-GettingStarted/
6.5.0版本中文文档:https://jeesite.gitee.io/front/flowable/6.5.0/bpmn/index.html
Hello WorldGitee地址:https://gitee.com/aacopy/flowable-learn.git
创建一个spring boot项目需要加入 spring web,
本示例,spring boot 2.6.1,flowable 6.7.1, mysql 5.7
创建数据库新建一个mysql数据库,名称为flowable_learn
编写示例
加入maven依赖
123456789<dependency> <groupId>mysql</grou ...
1. 简介2. 安装2.1 5.7版本安装指令1234567891011docker run -p 3306:3306 --name mysql5.7 --privileged=true \-v /home/dockerdata/mysql5.7/conf:/etc/mysql \-v /home/dockerdata/mysql5.7/logs:/var/log/mysql \-v /home/dockerdata/mysql5.7/data:/var/lib/mysql \-e MYSQL_ROOT_PASSWORD=aacopy.cn \-e TZ=Asia/Shanghai \-d mysql:5.7 \--character-set-server=utf8mb4 \--collation-server=utf8mb4_unicode_ci \--lower_case_table_names=1 \--sql_mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZER ...
1. 简介应用容器引擎,可以快速部署启动应用,实现虚拟化,完整资源隔离
官方地址:https://www.docker.com/
仓库地址:https://hub.docker.com/
dockers版本:
企业版本:docker EE
社区版本:docker CE
2. 安装2.1 CentOS安装指定版本1234567891011121314151617181920212223242526272829303132333435#添加依赖yum install -y yum-utils device-mapper-persistent-data lvm2#配置yum源yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo#查看docker版本yum list docker-ce --showduplicates | sort -r#安装指定版本的dockeryum -y install docker-ce-20.10.24-3.el7#安装完成, ...
map作用:将流中的每一个元素转换为另外一类元素
1234List<User> userList = new ArrayList<>();List<UserDTO> result = userList.stream() .map(user -> new UserDTO(user.getName(), user.getAge())) .collect(Collectors.toList());
filter作用:过滤流中的每一个元素,符合条件的保留下来
123List<User> result = userList.stream() .filter(user -> user.getAge()>18) .collect(Collectors.toList());
sorted作用:对元素进行排序
自然排序sorted():
123List<User> result = userList.stream() .sorted() . ...