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