摘要:引言 在开发基于Spring Boot的应用程序时,事件驱动架构是一个非常重要的概念。通过使用Spring框架提供的事件机制,我们可以轻松地解耦组件并提高系统的可扩展性。本文将深入探讨Spring事件(SpringEvent)的实现,并通过一个实际的业务场景来展示如何使用它。 1. Spring E
阅读全文
摘要:特别注意:秘钥必须是16位的。 c# 安装BouncyCastle SM4工具类 using System.Text; using Org.BouncyCastle.Utilities.Encoders; namespace StrongOA.Core.Utils { /// <summary> /
阅读全文
摘要:1、配置文件新增每个线程池的基本参数配置 thread-pool.user-thread.corePoolSize=1 thread-pool.user-thread.maxPoolSize=1 thread-pool.user-thread.keepAliveSeconds=120 thread-
阅读全文
摘要:package com.istrong.seatom.utils; import cn.hutool.core.collection.ListUtil; import com.alibaba.excel.EasyExcel; import com.alibaba.excel.enums.CellDa
阅读全文
摘要://如果应用需要确保所有线程都能公平获得执行机会,避免线程饥饿,应选择公平锁;如果应用对线程响应时间有较高要求,且可以接受一定程度的线程饥饿,以提高整体吞吐效率,则应选择非公平锁private final Lock lockBorrow = new ReentrantLock(true);//tr
阅读全文
摘要:package com.sxsoft.admin.utils; import com.sxsoft.admin.entity.TIsp; import java.util.ArrayList; import java.util.List; import java.util.Objects; impo
阅读全文
摘要:分布式部署下如何做接口防抖? 有两个方案: 使用共享缓存 流程图如下: 使用分布式锁 流程图如下: 常见的分布式组件有Redis、Zookeeper等,但结合实际业务来看,一般都会选择Redis,因为Redis一般都是Web系统必备的组件,不需要额外搭建。 具体实现 现在有一个保存用户的接口 @Po
阅读全文