- 博客(93)
- 收藏
- 关注

原创 使用RabbitMQ实现未支付订单在30分钟后自动过期
延迟队列可以实现消息在投递到Exchange之后,经过一定的时间之后再投递到相应的Queue。再被消费者监听消费。即:生产者投递的消息经过一段时间之后再被消费者消费。业务场景:订单在30分钟内还未支付则自动取消。该业务的其他实现方案:使用Redis,设置过期时间,监听过期事件。使用RabbitMQ的过期队列与死信队列,设置消息的存活时间,在设置的时间内未被消费,即会投递到死信队...
2020-04-17 12:24:33
2782
1

原创 RabbitMQ死信队列在SpringBoot中的使用
死信队列可以实现消息在未被正常消费的场景下,对这些消息进行其他处理,保证消息不会被丢弃。# 概念:消息会变成死信消息的场景:消息被(basic.reject() or basic.nack()) and requeue = false,即消息被消费者拒绝签收,并且重新入队为false。1.1 有一种场景需要注意下:消费者设置了自动ACK,当重复投递次数达到了设置的最大retry...
2020-04-09 17:34:57
1006

原创 SpringBoot RabbitMQ实现消息可靠投递
消息投递时 可能发生丢失的场景:生产者------msg------> MQ 。可开启消息投递结果回调,确保每条消息都收到了回调。MQ。将Queue与消息设置成可持久化,搭建镜像集群队列。MQ-------callback---->生产者。回调时失败,某条消息在一段时间内未收到回调,则默认投递失败,生产者需要再次投递该消息到MQ。(该场景下会导致同一条消息被重复投递,消费者端...
2020-04-04 14:47:32
635

原创 IntelliJ IDEA个人配置
# 主题# 字体推荐DejaVu Sans Mono,这个字体绝对爽翻第二推荐Courier 或者 Courier NewIDEA应用字体代码字体预览# 常用插件Alibaba Java Coding Guidelines阿里巴巴编程规范,可以检查自己的java命名规范编程规范以及bug,并会给出相应的解决方案Grep Console对控制台输出...
2018-10-19 21:04:06
358

原创 SpringBoot2.0统一返回Rest风格数据结构与统一异常处理
一,统一返回数据结构定义返回的数据结构package com.futao.springmvcdemo.model.system;import org.joda.time.DateTime;import java.sql.Timestamp;/** * @author futao * Created on 2018/9/22-21:47. * 统一返回Rest风格的数据结构...
2018-09-24 01:04:16
5343
2

原创 Cookie中包含空格(特殊字符)的解决方案
Cookie中包含空格可能会出现空格之后的数据丢失的情况。 解决办法:使用URLEncoder.encode()对cookie进行编码,再使用URLDecoder.decode()进行解码 Response:StringBuilder cookie = new StringBuilder(); for (BasicNameValuePair basicNameValuePa...
2018-07-26 20:28:57
9789

原创 EF-CodeFirst实现过程+数据库迁移
思路:通过代码编写实体和关联,编写上下文,根据实体和关联生成数据库。EF-CodeFirst的优点 EF-CodeFirst相对于EF-ModelFirst和EF-DBFirst的有点在于,CodeFirst在数据库已经设计完成之后,能够较方便得再次对数据库进行更改(数据库迁移技术)。关联 1. Database First是基于已存在的数据库,利用某些工具(如VS提供的EF设...
2018-06-15 18:06:47
574

原创 gitlab项目自动同步到github或者码云gitee
初始条件,先自行建好gitlab的代码仓库和码云的代码仓库,ssh配好。 打开gitlab项目,在左侧菜单栏选择Settings->Repository 选择Push to a remote repository,打开之后可以看到相关的配置信息。 勾选Remote mirror repository填写Git repository URL:这个URL地址就是你在码云或...
2018-06-15 11:08:42
10983
3
原创 NG实现防盗链
,判断当前referer,如果是无效的referer,则返回403;设置方法为:在location下,设置允许的referer(通过request的referer判断是否允许访问。
2022-12-26 15:50:37
309
原创 (十)Jmeter操作数据库/INSERT数据/读取CSV数据/bean shell使用
(十)Jmeter操作数据库/INSERT数据/读取CSV数据/bean shell使用
2022-11-14 16:30:48
1536
原创 (七)Jmeter脚本录制与自动化测试 / 使用Jmeter来协助造长流程数据
(七)Jmeter脚本录制与自动化测试 / 使用Jmeter来协助造长流程数据
2022-10-28 11:24:33
488
原创 (五)Jmeter串联请求 / 使用上一个请求的结果作为下一个请求的参数
(五)Jmeter串联请求 / 使用上一个请求的结果作为下一个请求的参数
2022-10-27 17:27:48
1642
原创 apache pdfbox setValue报错 UnsupportedOperationException
【代码】apache pdfbox setValue报错 UnsupportedOperationException。
2022-10-26 09:35:41
623
原创 Spring环境下获取CorrelationData,msgId的使用方法
通常情况下,对于投递到RabbitMQ的消息,我们一般都会指定一个唯一的msgId来标识一条消息,跟踪这条消息的状态。通常情况下,我们的代码都是这样的:生产者端:消费者端:但是这样的代码的...
2021-12-12 11:23:06
3680
1
原创 Kafka生产者对于消息顺序性的最佳实践
Kafka可以保证消息在一个Partition分区内的顺序性。如果生产者按照顺序发送消息,Kafka将按照这个顺序将消息写入分区,消费者也会按照同样的顺序来读取消息(通过自增偏移量)。如何...
2021-11-03 17:01:29
1314
原创 交换机间路由、绑定多个路由键,匿名队列等
原来交换机和交换机之间也能绑定,路由消息....绑定多个路由键,需要反复调用queueDeclare,但是却不会被识别为变更queue配置,也不会触发异常(在通常情况下,一个队列/交换机在...
2021-11-02 11:06:16
396
原创 使用docker-compose搭建zookeeper集群
# 技术docker: https://www.docker.comdocker-compose: https://docs.docker.com/compose/zookeeper do...
2021-08-04 15:09:38
418
原创 zookeeper实现获取实例列表与动态感知服务上下线状态
ZK: 相当于是一个文件系统 + 通知机制(观察者模式)image.png# 过程创建持久化的根节点 /server-pig客户端监听/server-pig节点下的子节点的上线/下线,当有...
2021-08-03 20:04:58
297
Jmeter入门与高级示例 #用代码,改变世界#.pdf
2022-11-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人