- 博客(11)
- 收藏
- 关注
原创 【rabbit】通过 @RabbitListener 创建交换机、队列及绑定
通过的bindings属性,可以简洁地声明交换机、队列及其绑定关系,适合快速开发场景。定义交换机:通过@Exchange指定名称和类型。定义队列:通过@Queue配置队列属性。绑定路由规则:通过@Binding指定路由键。实际开发中,建议将核心组件(如订单交换机)在配置类中统一声明,而将临时组件(如日志队列)通过动态创建,以兼顾灵活性与可维护性。
2025-04-08 11:24:08
897
原创 SpringBoot 五大实用小技巧
也可以定义多个配置文件,如在application.yml中定义和环境无关的配置,而application-{profile}.yml则根据环境做不同区分,如在 application-dev.yml 中定义开发环境相关配置、application-test.yml 中定义测试环境相关配置。上述这种给 jar 包瘦身的方案,实际上是在打包的时候忽略 lib 文件夹中的这些依赖,将这部分不变的依赖提前放到服务器上,打出来的 jar 包就变小了,从而提升发版效率。
2024-12-23 14:17:49
711
原创 flowable的ProcessEngine
可以使用 RepositoryService 进行流程定义的部署和查询,使用 RuntimeService 处理运行时的流程实例和任务,使用 TaskService 进行任务的创建和处理,使用 HistoryService 访问流程的历史数据等。HistoryService提供了查询和管理历史数据的功能,包括查询历史流程实例、活动实例、任务实例、明细数据和变量实例,删除历史任务实例、流程实例和相关数据,以及获取历史身份链接、实体链接和任务日志等信息。通过这些方法,可以方便地与流程实例和任务的表单进行交互。
2024-09-14 16:45:24
1439
原创 Mysql 索引优化
这种存储方式是依靠B+树来实现的,根据表的主键构造一棵B+树且B+树叶子节点存放的都是表的行记录数据时,方可称该主键索引为聚簇索引。索引只是提高效率的一个因素,如果你的MySQL有大数据量的表,就需要花时间研究建立最优秀的索引,或优化查询语句。📌简单类比一下,数据库如同书籍,索引如同书籍目录,假如我们需要从书籍查找与 xx 相关的内容,我们可以直接从目录中查找,定位到 xx 内容所在页面,如果目录中没有 xx 相关字符或者没有设置目录(索引),那只能逐字逐页阅读文本查找,效率可想而知。
2024-08-09 10:34:55
865
1
原创 Spring 分组校验 DefaultGroupSequenceProvider
考虑下面这个场景:假如一个bean有3个属性,分别是attrA, attrB和attrC。当attrA属性的值是value1,我们需要对attrB进行校验;当attrA属性的值是value2的时候,我们需要对attrC进行校验。为了实现上面这个目的,我们需要实现DefaultGroupSequenceProvider接口,并且在被校验的bean上使用@GroupSequenceProvider来应用我们的实现。Hibernate Validator 提供了"根据对象状态动态重定义默认分组"的接口。
2024-08-09 09:41:24
366
原创 多人同时导出 Excel 干崩服务器优化
业务诉求:考虑到数据库数据日渐增多,导出会有全量数据的导出,多人同时导出可以会对服务性能造成影响,导出涉及到mysql查询的io操作,还涉及文件输入、输出流的io操作,所以对服务器的性能会影响的比较大;结合以上原因,对导出操作进行排队;刚开始拿到这个需求,第一时间想到就是需要维护一个FIFO先进先出的队列,给定队列一个固定size,在队列里面的人进行排队进行数据导出,导出完成后立马出队列,下一个排队的人进行操作;
2024-04-30 09:18:16
373
原创 idea将Java项目打包Jar包,并生成exe可执行文件,并在无环境的电脑上运行
现在输出编译文件输出地址,一会儿要执行这个文件,然后是安装文件名称,最后是安装文件图标。第一步:打开Project Structure设置界面,点击Artifacts。这样我们就完成了java程序的打包工作,你只需要把安装文件发给其他人运行就可以了。现在需要打包的exe文件,在添加需要打包的所有文件。最后会执行编译文件进行打包,生成安装文件。第二步:然后继续添加modle,如下。首先,先删除文件夹中的jar。点击文件->新建->下一步。选择项目类型点击下一步。然后一直下一步就可以了。界面设置,DPI设置。
2024-04-03 14:04:19
5643
3
原创 Spring Boot 实现各种参数校验
业务需求总是比框架提供的这些简单校验要复杂的多,我们可以自定义校验来满足我们的需求。自定义约束注解String message() default "加密id格式错误";Class
2024-02-20 09:50:38
1226
1
原创 Linux 上安装部署Nacos、Docker 创建Nacos容器
通过按照上述步骤,在Linux操作系统上安装和部署Nacos是相对简单的。Nacos作为一个功能强大的服务发现和配置管理平台,可以帮助开发人员更好地构建和管理微服务架构。在安装完成后,您可以通过Nacos的控制台来管理服务实例、配置信息等内容,从而为您的微服务架构提供更好的支持。Nacos是一个开源的分布式服务发现和配置管理平台,它可以帮助开发人员实现微服务架构中的服务注册、发现和动态配置管理。您将被引导到Nacos的Web界面,可以在此界面中管理服务实例、配置和命名空间等内容。
2023-12-27 15:42:59
2561
1
原创 spring elasticsearch:启动项目时自动创建索引
0.引言在springboot整合spring data项目中,当索引数量较多,mapping结构较为复杂时,我们常常希望启动项目时能够自动创建索引及mapping,这样就不用再到各个环境中创建索引了所以今天咱们就来看看如何自动创建索引。
2023-02-15 14:12:29
2560
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人