RocketMQMessageListenerBeanPostProcessor implements SmartLifecycle start()
还没有人认领这个 Issue。
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 45/100
- Issue 类型
- 缺陷
- 描述清晰度
- 基本清楚
- 活跃度
- 冷清
- 技术栈
- java, spring, spring-boot
调研方向
从 RocketMQMessageListenerBeanPostProcessor 开始,重点关注 postProcessAfterInitialization() 和 start(),并分别仅使用 Spring Boot 2.7.18 以及使用列出的 Spring Cloud Alibaba 依赖来复现日志中的顺序。跟踪生命周期回调和 registrar 调用;当两种配置中 listener 容器都在 startContainer() 运行之前完成注册时,即表示完成。
由索引模型根据 Issue 内容生成。
描述
@Override
public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
Class<?> targetClass = AopUtils.getTargetClass(bean);
RocketMQMessageListener ann = targetClass.getAnnotation(RocketMQMessageListener.class);
if (ann != null) {
RocketMQMessageListener enhance = enhance(targetClass, ann);
if (listenerContainerRegistrar != null) {
log.warn("=== 111 ====");
listenerContainerRegistrar.registerContainer(beanName, bean, enhance);
}
}
return bean;
}
@Override
public int getPhase() {
return Integer.MAX_VALUE - 2000;
}
@Override
public void start() {
if (!isRunning()) {
this.setRunning(true);
log.warn("=== 222 ====");
listenerContainerRegistrar.startContainer();
}
}
1、单独使用spring-boot 2.7.18 registerContainer start 顺序正确可正常使用。
执行顺序
=== 111 ==== 先执行
=== 222 ==== 后执行
registerContainer 注册正常。
start 正常。
2、主要依赖如下
spring-cloud 2021.0.6
spring-cloud-starter-alibaba 2021.0.6.1
spring-boot 2.7.18
执行顺序
=== 222 ==== 先执行
=== 111 ==== 后执行
registerContainer 注册正常。
start 未能正常执行。
- 主要语言
- Java
- 星标
- 2.3k
- 派生
- 941
- PR 合并指标
- 30 天内没有已合并 PR
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 没有贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
apache/rocketmq-spring 的其他 Issue
-
[Bug] RocketMQClientTemplate.receiveAsync closes the shared SimpleConsumer, breaking all subsequent operations可能已有人在做 @wang-jiahua 于 57 天前认领。 未关闭
难度 2/5 1-3 小时 新手友好度 88/100
apache/rocketmq-spring#780 · 3 条评论 ·
-
编译报错未关闭
难度 2/5 1-3 小时 新手友好度 72/100
apache/rocketmq-spring#692 · 1 条评论 ·
-
难度 2/5 1-3 小时 新手友好度 68/100
apache/rocketmq-spring#678 · 2 条评论 ·
-
难度 1/5 1 小时以内 新手友好度 82/100
apache/rocketmq-spring#670 · 1 条评论 ·
-
难度 2/5 1-3 小时 新手友好度 62/100
apache/rocketmq-spring#609 · 3 条评论 ·
查看 apache/rocketmq-spring 的全部 Issue
相似的 Issue
-
bug
难度 2/5 1-3 小时 新手友好度 73/100
维护者通常 2 天内回复
-
code-health feature/sync OS/Android QA/Test-Plan-Specified QA/Yes
难度 2/5 1-3 小时 新手友好度 75/100
brave/brave-browser#60327 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 78/100
aws/context-ontology-accelerator#325 ·
维护者通常 1 天内回复
-
The README tells to run `mvn jeo:disassemble`, which fails with `No plugin found for prefix 'jeo'`未关闭
难度 1/5 1 小时以内 新手友好度 82/100
objectionary/jeo-maven-plugin#1938 ·
维护者通常 2 天内回复
-
effort/l priority/p2 risk/high triage/deferred
难度 2/5 1-3 小时 新手友好度 77/100
iflytek/skillhub#1039 · 1 条评论 ·
维护者通常 1 天内回复