01-认识Activiti
工作流指如请假、报销等需审批的业务流程,通过可视化引擎实现多节点审批,广泛应用于CRM、TMS、WMS等系统。传统数据库或状态机难以支撑复杂流程,故催生了Activiti、Flowable等引擎。主流技术包括BPMN标准及基于其发展的Activiti与Flowable,助力企业高效自动化管理。
Soul数据库设计
本插件采用数据库设计,存储插件、选择器、规则及其关联关系。核心三要素为plugin、selector、rule,支持多层级匹配条件配置。一个插件可含多个选择器,每个选择器下可设多个规则与匹配条件,规则处理逻辑以JSON形式存于handle字段。配套UML图展示表结构,涵盖meta_data(用于Dubbo接口)、rule_condition、selector_condition等关键表,清晰体现数据模型与映射关系。
Activity代码实现
本文介绍如何使用Activiti工作流引擎完成流程的创建、部署、启动、查询与任务处理。通过创建bpmn文件定义流程,编写代码部署流程定义,启动流程实例并查询当前任务,最终完成任务实现流程流转。整个过程涵盖核心API使用与数据库表变化,帮助快速掌握Activiti基础应用。
持久层框架MyBatisPlus
MyBatisPlus是MyBatis的增强工具,简化单表CRUD操作,无需编写XML即可实现增删改查。通过继承BaseMapper、使用条件构造器(如QueryWrapper)、集成分页插件等,显著提升开发效率,并支持代码生成、逻辑删除、枚举处理器等高级功能。
代码模块改造2
在zzyl-common模块集成MyBatis-Plus,替换原有MyBatis配置,改造Mapper、Service及ServiceImpl代码,支持自动填充 createTime、updateTime 等字段。通过MetaObjectHandler实现公共字段自动填充,优化代码生成模板,支持LocalDateTime类型与Swagger注解,提升开发效率并统一代码规范。
持久层框架MyBatisPlus
MyBatisPlus是MyBatis的增强工具,简化单表CRUD操作,无需编写SQL即可实现增删改查。通过继承BaseMapper、使用条件构造器(如QueryWrapper)、集成分页插件等功能,极大提升开发效率。同时支持自定义SQL、逻辑删除、枚举处理器等高级特性,广泛应用于企业级项目中。
推荐引擎:没有搜索词,「头条」怎么找到你感兴趣的文章?
本文深入解析了资讯类App推荐引擎的检索技术。通过“下拉刷新”这一简单操作,系统能在无搜索词情况下精准推荐内容,其核心在于用户画像与文章画像的构建,以及基于内容和协同过滤的个性化召回算法。文章详细阐述了基于用户和物品的协同过滤原理,并探讨了混合推荐与多层排序机制如何提升推荐效果与系统性能。
微服务概述
本文对比单体与微服务架构,解析微服务定义、优缺点及实现方案。微服务通过业务拆分、独立部署、技术自治提升系统扩展性与维护性,虽带来运维、分布式事务等挑战,但仍是现代分布式架构演进的重要方向。
大厂如何解决订单幂等问题
本文介绍如何在分布式系统中实现接口幂等性,防止重复下单与ABA问题。通过预生成唯一订单号并利用数据库主键唯一约束,可确保创建订单的幂等;通过引入版本号机制,更新时校验并自增版本号,避免并发修改导致的数据错乱。两种方案结合Redis或数据库状态标记,有效应对网络重试、请求重复等问题,适用于各类需幂等处理的业务场景。
线程池:故障梳理总结
本文从故障与技术双重视角,总结线程池类故障的常见成因及应对策略。涵盖数据库慢查询、连接池配置不当、超时设置缺失等问题,结合真实案例剖析线程池满的根本原因,并提出fast-fail、流控、背压、谨慎重试等最佳实践,助力开发者提升系统稳定性。