![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 90
今天想吃柠檬
认真学习
展开
-
spring boot 整合rabbit mq 死信队列
前言在电商开发中我们经常会遇到这样的一些功能需求。例如,当一个订单在30分钟后未支付就需要关闭这个订单;当一个订单7天后用户没有点击确认收货,就系统自动确认。我们可以把这类任务归纳为是一个系统事件,通过触发某个时间条件来执行该事件。我们可以先抛开rabbitmq这个中间件,思考下应该如何设计这个任务。首先这些事件的触发不应该影响我们的主流程,比如用户生成了订单,但是即使用户不支付,他依然可以去做别的事情,比如浏览商品或者参与其它促销活动。也就是这类事件相对于我们的用户主线程它是独立的,非阻塞的,异步的。原创 2022-04-14 11:36:40 · 2222 阅读 · 1 评论 -
elasticsearch 搭配 canal 字段更新和后续兼容查询设计(四)
在这类需要通过canal同步mysql到elasticsearch的项目架构中,会面对几个问题点:1、复杂结构的同步可行性 2、表结构的同步 3、表结构变动带来的兼容问题。原创 2022-02-21 10:58:48 · 1000 阅读 · 0 评论 -
spring boot 整合 spring data jpa
spring data jpa 很好的整合了hibernate和jpa两者为java orm开发提供了新鲜血液。就我个人的使用角度来说spring data jpa提供了java的写法来操作mysql,保留了代码的完整性,从视觉上看,代码比较整洁,对应单表的操作可以做到拿来即用,提高了一些简单接口的开发效率。原创 2022-02-14 10:27:20 · 664 阅读 · 0 评论 -
spring boot 整合 mybatis Dynamic SQL
前言作为java开发者,一般我们在使用orm框架的时候绝大部分会使用mybatis作为我们的第一方案。mybatis是一款半自动化的orm框架,它的灵活性、易上手是它能够快速占据java开发者市场的一个重要原因。在早期使用mybatis的过程中,遇到比较困扰的问题就是,每个功能需求都需要去编写sql语句,虽然这个对于sql的优化提供了便利,但是即使是简单的增删改查都需要单独编写的话,就会让程序员觉得有些繁琐。后来有许多的开发者提供了一些mybatis的插件,可以通过逆向工程生成许多的工具代码,为开发提供原创 2022-01-27 11:30:58 · 1158 阅读 · 0 评论 -
elasticsearch 搭配 canal 构建主从复制架构整合canal实战(三)
前言canal 同步mysql数据到elasticsearch原创 2022-01-26 11:07:46 · 4508 阅读 · 0 评论 -
elasticsearch 搭配 canal 构建主从复制架构整合spring boot实战(二)
前言上一篇完成了elasticsearch、elasticsearch-head的搭建,这一章将带入spring-boot进行开发整合。spring-boot为java的数据交互提供了许多的便利。其中spring-data模块整合了市场上绝大部分的数据存储。搭建环境首先登录到spring官网找到spring data组件,可以看到其中的版本要求,可以参考表格选择对应的这边之前安装的是elasticsearch的7.10.0版本。然后再我们的工程pom文件中加上 .原创 2022-01-25 11:19:03 · 757 阅读 · 0 评论 -
elasticsearch 搭配 canal 构建主从复制架构实战(一)
elasticsearch通常在项目中用于做海量数据存储和全文搜索,在电商的商品搜索,论坛的发帖搜索中有广泛应用。但是一般这些数据会存储在关系型数据库中例如mysql,mysql数据库拥有良好的事务解决方案,清晰的数据结构,丰富的组合查询功能,是大部分项目的首选存储方案。那么当数据量增长到一定程度,或者有全文搜索、模糊搜索、联想搜索等搜索方面的需求的时候,ES就会比Mysql显得更加合适了。原创 2022-01-24 10:42:21 · 1891 阅读 · 0 评论 -
spring boot 整合rabbitmq 不同类型队列的案例
1、前言 上一篇中归纳了rabbitmq比较基本的使用,如最简单的消息发送和多个队列的负载均衡。rabbit mq中还提供了另外几种队列方式。这里主要是依赖于不同类型的交换机来实现的,在rabbitmq中如果你没有引用交换机,那么消息的生产者和消费者是通过队列直接关联,相对来说耦合性会强一点,同时功能的拓展性也相对受限。这里的exchange主要有4中类型。分别是fanout,直传类型,即...原创 2022-01-04 17:56:02 · 1528 阅读 · 0 评论 -
spring security 学习笔记(三)
概述上一篇主要是总结了有关spring security 的账号主体的设计,这一篇主要会一步一步总结这个配置类是如何编写的。这个配置类在spring security中至关重要,许多的组件都汇集于此,搞定这配置类整个流程就走通了。路由配置这一类的安全框架大多都是通过过滤器来匹配你请求的路由来判断拦截合放行的,所以我们需要在配置类中进行路由的配置。首先我们创建一个配置类,@Configuration@EnableWebSecuritypublic class WebSecurityCon原创 2021-07-27 11:29:46 · 414 阅读 · 0 评论 -
spring boot 整合 rabbit mq 小白入门
概述上一篇中我们已经成功将spring boot和rabbit mq整合成功了,现在我们来进行一些入门案例。rabbit mq的文档在一众技术文档中是属于比较清晰的,算是手摸手教学了,下面是第一个例子rabbit mq 官方hello world开始实战首先我们简单理清楚三个概念,1、生产者 2、消息队列 3、消费者生产者指的就是发送消息的一方,在代码中就是使用rabbitTemplate调用方法的一方。消息队列,我们可以认为是一块消息的缓冲区,拥有先进先出的特点,一个队列可以连原创 2021-07-12 10:51:38 · 171 阅读 · 0 评论 -
spring boot 整合 rabbitmq 框架搭建
rabbit原创 2021-05-10 10:23:49 · 315 阅读 · 0 评论 -
spring boot 整合 quartz
概述 之前在项目中基本上都是使用了spring boot 自带的定时任务功能来管理定时任务,这样做的好处是容易上手,本身功能集成在spring boot中开箱即用 代码编写方便清晰,基本上通过注解和cron表达式就可以完成需求 但是这样的方案也有一些弊端,比如当一个定时任务需要改变它的运行时间或周期的时候,你就需要修改代码并且重新启动服务来生效这次的修改。也就是这种方案的动态性不够。记得刚刚接触定时任务的时候,接到一个需要需要定时取获取一些汇率的信息,但是这个周期要求是变化的,...原创 2021-05-06 11:35:15 · 296 阅读 · 0 评论 -
spring security 学习笔记(二)
上一篇大致总结了有关spring security安全框架中所需要的几种过滤器。让我们对于spring security框架有了一定的认识。结合我们日常工作中的开发,还是需要实际的代码来演示一下框架的搭建。和之前shiro 框架整合spring一样,这次同样也是归纳总结下一个最小spring security系统的整合搭建。首先是引用依赖,整合spring security只需要在原来spring web的基础上再增加一个依赖,我使用的是2.3.2.RELEASE版本原创 2021-04-12 18:51:24 · 187 阅读 · 0 评论 -
spring security 学习笔记(一)
目录 引言框架概述过滤器SecurityFilter引言之前写了几篇有关shiro和spring之间整合的文章。在实际的开发过程中除了用shiro作为安全管理框架之外,用的比较多的就是spring security框架了。相对于shiro而言spring security作为spring全家桶中的一员和spring boot的整合也会更加方便,同时功能也更加的丰富,属于重量级的安全框架。而且随着spring框架体系的日益完善,java 开发中spring框架的比重...原创 2021-02-19 16:51:04 · 701 阅读 · 0 评论 -
spring整合shiro系列(三)spring boot 整合 shiro
之前写了两篇有关shiro和spring的文章,结合目前java开发spring boot框架是大势,决定原创 2020-06-26 18:31:44 · 351 阅读 · 0 评论 -
微信公众号开发系列(三)公众号生成二维码
在微信开发的过程中,在业务上常常会有分享的需求,而二维码给分享提供了比较快捷便利的解决方案。下面来看一下在微信公众号中二维码是如何生成的。首先我们开始老样子先去微信公众平台中查看一下文档,首先进入文档中心,在左侧菜单中账号管理>生成带参数的二维码。然后我们大致看下业务场景从这里可以比较清楚看到,这个api的二维码应用于推广分享,然后有临时和永久两种。这两个的区别也比较明显,临时就是有过期时间,你生成的码过段时间就不能用了,但是生成数量上比永久的多。永久的有10万个如果业务使用量不大...原创 2020-06-21 12:23:35 · 2251 阅读 · 0 评论 -
微信公众号开发系列(二) 网页授权登录
上一篇,进行了微信公众号的服务器配置,下面开始微信公众号的网页授权通过官网的文档,可以知道网页授权大致分为几步这里我们暂且不考虑刷新网页授权的access_token。第一步获取code,这个code 可以看作是一个预授权码,官方说法是一个用来换取access_token的票据,下面是第一步所需要的参数第一个appid这个就是你公众号的标识,等于你要告诉微信,用户正在登录哪...原创 2019-06-22 21:24:53 · 553 阅读 · 0 评论