You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Quarkus升级至3.6.3后出现UnsatisfiedResolutionException问题求助

解决Quarkus 3.6.3中kafka-streams的Topology依赖无法解析问题

这个问题源于Quarkus 3.x版本对kafka-streams扩展的行为变更:Quarkus 3.x不再自动提供默认的org.apache.kafka.streams.Topology Bean,而2.x版本中会自动生成空的Topology实例,升级后CDI容器找不到对应依赖,因此抛出jakarta.enterprise.inject.UnsatisfiedResolutionException。

解决方法

方法1:用@Produces显式提供Topology Bean

创建CDI Bean类,通过@Produces方法生成Topology实例:

import jakarta.enterprise.context.ApplicationScoped;
import jakarta.enterprise.inject.Produces;
import org.apache.kafka.streams.Topology;

@ApplicationScoped
public class KafkaTopologyProvider {

    @Produces
    public Topology createDefaultTopology() {
        // 返回空Topology,后续可根据业务需求添加流处理逻辑
        return new Topology();
    }
}

方法2:使用Quarkus Kafka Streams专属注解@KafkaStreamsTopology

用该注解标注构建Topology的方法,Quarkus会自动将其注册为CDI Bean:

import io.quarkus.kafka.streams.KafkaStreamsTopology;
import org.apache.kafka.streams.Topology;

public class AppKafkaTopology {

    @KafkaStreamsTopology
    public Topology buildTopology() {
        Topology topology = new Topology();
        // 按需添加流处理逻辑,无需求则返回空实例即可
        return topology;
    }
}

额外检查项

  • 确保所有Quarkus依赖版本统一为3.6.3,避免混合版本引发兼容性问题
  • 确认项目使用的JDK版本符合Quarkus 3.x要求(最低JDK 11)
  • 验证quarkus-kafka-streams依赖已正确引入(pom.xml/Gradle配置无拼写错误)

内容的提问来源于stack exchange,提问作者bullcheck

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 00:22:28