开发者社区 > 云原生 > 正文

Dubbo3.1 找不到ServiceBeanExportedEvent的监听器

环境信息

Dubbo version: 3.1.0-SNAPSHOT Operating System version: windows11 Java version: 11

步骤重现

1、org.apache.dubbo.config.spring.ServiceBean#publishExportEvent()代码如下:

private void publishExportEvent() {
    ServiceBeanExportedEvent exportEvent = new ServiceBeanExportedEvent(this);
    applicationEventPublisher.publishEvent(exportEvent);
}

但我在3.1分支中并没有找到ServiceBeanExportedEvent的监听器

2、与之类似的,org.apache.dubbo.config.ServiceListener并未找到其有效的实现类,继承者而在ServiceConfig中init()方法如下使用:

public void init() {
    if (this.initialized.compareAndSet(false, true)) {
        // load ServiceListeners from extension
        ExtensionLoader<ServiceListener> extensionLoader = this.getExtensionLoader(ServiceListener.class);
        this.serviceListeners.addAll(extensionLoader.getSupportedExtensionInstances());
    }
    initServiceMetadata(provider);
    serviceMetadata.setServiceType(getInterfaceClass());
    serviceMetadata.setTarget(getRef());
    serviceMetadata.generateServiceKey();
}

debug查看发现serviceListeners为空

那这两处是否为升级过程中的代码冗余?

原提问者GitHub用户conghuhu

展开
收起
大圣东游 2023-05-11 16:51:45 105 0
1 条回答
写回答
取消 提交回答
  • 这两处是Dubbo对外提供的监听功能,设计给业务自定义扩展使用的。

    目前 3.1.0-SNAPSHOT 已经发布到 apache repository 的 snapshot 仓库。

    原回答者GitHub用户AlbumenJ

    2023-05-12 10:36:08
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:

阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。

相关电子书

更多
Dubbo开源现状与2.7规划 立即下载
Dubbo分布式服务治理实战 立即下载
《Dubbo 3.0 前瞻》 立即下载