- 博客(13)
- 收藏
- 关注
原创 消息中间件-RabbitMq
当消费者出现异常后,消息会不断requeue(重入队)到队列,再重新发送给消费者,然后再次异常,再次requeue,无限循环,导致mq的消息处理飙升,带来不必要的压力。消费者 如果一次 收到很多消息,自动回复ack给服务器,然后只有一个消息被处理成功,服务宕机,就会发生消息丢失,因为broker已经将消息删除了。设置ack模式为手动确认,只要代码没签收,消息就一直是未确认状态,即使服务宕机,消息也不会被删除丢失,会重新变为Ready,投递给其他服务处理。抛出异常则返回nack。:定义消息路由失败时的策略。
2025-06-24 17:53:42
1426
原创 任务编排利器-CompletableFutrue
Future是Java 5添加的类,用来描述一个异步计算的结果。你可以使用**isDone方法检查计算是否完成,或者使用get阻塞住调用线程,直到计算完成返回结果,你也可以使用cancel方法停止任务的执行。虽然Future以及相关使用方法提供了异步执行任务的能力,但是对于结果的获取却是很不方便,只能通过阻塞或者轮询的方式得到任务的结果。阻塞的方式显然和我们的异步编程的初衷相违背,轮询的方式又会耗费无谓的CPU资源,而且也不能及时地得到计算结果,为什么不能用观察者设计模式当计算结果完成及时通知监听者呢?
2025-06-24 17:30:44
1928
原创 AOP切面实现请求日志打印
本文介绍了如何使用AOP(面向切面编程)实现请求日志打印功能。首先,需要确保项目中包含AOP、Hutool、Web和Spring等Maven依赖。接着,创建一个自定义的日志注解@Logs,用于标记需要打印日志的方法或类,并支持控制是否打印入参和出参。然后,定义一个日志切面类LogAspect,通过@Around环绕通知拦截被@Logs注解标记的方法,记录方法的执行时间、入参、出参等信息,并输出到日志中。切面类还处理了请求类型、URI等信息的获取,并过滤了HttpServletRequest、HttpServ
2025-05-14 10:26:10
213
原创 持久层框架-MyBatis
打包方式:jar引入依赖创建MyBatis的核心配置文件创建mapper接口创建MyBatis的映射文件相关概念:ORM(Object Relationship Mapping)对象关系映射。对象:Java的实体类对象关系:关系型数据库映射:二者之间的对应关系Java概念数据库概念类表属性字段/列对象记录/行映射文件的命名规则表所对应的实体类的类名+Mapper.xml例如:表t_user,映射的实体类为User,所对
2023-03-06 16:25:43
49
原创 day1_Spring
Spring框架主要的优势是在简化开发和框架整合上(1)IOC,(2)整合Mybatis(IOC的具体应用),(3)AOP,(4)声明式事务(AOP的具体应用)IoC容器根据bean所依赖的资源在容器中自动查找并注入到bean中的过程。
2022-09-12 13:03:41
226
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅