摘要: 如果消费失败,默认顺延继续重试(从lastOffset) rocketmq 重试: 1、重试机制基于延迟来实现的 2、消费失败后,会把ackIndex设置为-1,并且发送给broker,也就是重新消费 2.1 如果发送ack消息成功,那么重试机制由broker负责,如果发送失败,默认5s后由消费端自 阅读全文
posted @ 2021-06-17 15:32 龙之谷2019 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 1 // Process any @Import annotations getImports(sourceClass):获取所有@Import的bean 2 processImports(configClass, sourceClass, getImports(sourceClass), filt 阅读全文
posted @ 2021-06-07 16:12 龙之谷2019 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 1 package com.future; 2 3 import java.util.concurrent.*; 4 5 6 public class FDemo { 7 public static final ExecutorService service = Executors.newSingl 阅读全文
posted @ 2021-06-04 17:16 龙之谷2019 阅读(54) 评论(0) 推荐(0) 编辑
摘要: springboot集成Filter有2种方式1、@Beanpublic FilterRegistrationBean<Filter> filterRegistrationBean(WebEndpointProperties webEndpointProperties, CustomizeFilte 阅读全文
posted @ 2021-06-01 10:01 龙之谷2019 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 基于Redisson的分布式锁。 从多个节点获取锁,当一半以上的节点成功获取锁,才算成功获取锁。 redisson不会产生死锁问题,原因: redisson 有个开门狗机制,每隔10s会设置锁的有效期为30s 使用apollo的addChangeListener方法监听配置。 Redis Pttl 阅读全文
posted @ 2021-05-27 11:26 龙之谷2019 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 1、CAS 多个线程同CAS更新同一个变量,只有一个线程能成功,其他的都失败,但不会挂起,只是通知其他线程再次尝试。 包含三个值:内存值V,进行比较的预期原值A、准备写入的新值B。如果V和A相等,则将V更新为B。 2、AQS(AbstractQueuedSynchronizer) 内部通过Node构 阅读全文
posted @ 2021-05-27 11:25 龙之谷2019 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 使用场景: 1、异步处理,比如订单完成后想异步发送消息 2、事件告知,比如想知道spring容器是否启动完成,那么就可以监听spring启动完成后的事件 3、扩展处理,比如监听 跑完步 这个事件,接着会喝水。考虑到后面可能跑完步还要去吃饭,那么可以通过监听同一个事件来完成。 省的还需要改原来的代码。 阅读全文
posted @ 2021-05-27 11:24 龙之谷2019 阅读(689) 评论(0) 推荐(0) 编辑
摘要: 1 finishBeanFactoryInitialization->preInstantiateSingletons 2 3 在preInstantiateSingletons的getBean()的方法中会实例化带有@RequestMapping、@Controller、@RestControll 阅读全文
posted @ 2021-05-27 11:22 龙之谷2019 阅读(155) 评论(0) 推荐(0) 编辑
摘要: main:11, ServerApplicationrun:1230, SpringApplicationrun:1242, SpringApplicationrun:297, SpringApplicationprepareEnvironment:338, SpringApplicationenv 阅读全文
posted @ 2021-05-14 11:30 龙之谷2019 阅读(377) 评论(0) 推荐(0) 编辑
摘要: 1 @Override 2 public void afterPropertiesSet() throws Exception { 3 final RocketMQMessageListener annotation = MyConsumer.class.getAnnotation(RocketMQ 阅读全文
posted @ 2021-05-12 18:43 龙之谷2019 阅读(4799) 评论(0) 推荐(0) 编辑