gpt4 book ai didi

java - 创建 Producer 方法时收到模糊依赖警告

转载 作者:行者123 更新时间:2023-12-03 07:04:24 27 4
gpt4 key购买 nike

我创建了一个生产者方法来使用托管身份处理对 Azure 的身份验证。我的应用程序使用多个 Azure 服务,因此我认为这可能是仅使用一种生产者方法对所有 Azure 服务进行身份验证的最佳方式。

我的生产者方法如下所示:

import com.azure.core.credential.TokenCredential
import com.azure.identity.ManagedIdentityCredentialBuilder
import io.quarkus.arc.properties.IfBuildProperty
import javax.enterprise.context.ApplicationScoped
import javax.enterprise.inject.Produces

@ApplicationScoped
class AzureManagedIdentity(
private val azureManagedIdentityConfig: AzureManagedIdentityConfig,
) {
@Produces
fun managedIdToken(): TokenCredential = ManagedIdentityCredentialBuilder()
.clientId(azureManagedIdentityConfig.clientId())
.build()
}

这似乎有效,但我在 IDE 中收到以下警告:“不明确的依赖关系:有多个与注入(inject)点匹配的 bean”。

我正在使用 TokenCredential(例如身份验证方式),如下所示:

import javax.enterprise.context.ApplicationScoped
import com.azure.core.credential.TokenCredential

@ApplicationScoped
class ServiceBusCaptureRequestPublisher(
private val tokenCredential: TokenCredential,
) {
// Logic
}

我搜索了互联网,发现了一些关于代码的内容,不知道需要使用哪个 TokenCredential 或类似的内容。现在我还发现了一些关于 Qualifiers 和 @Named 注释的内容,但我在这里有点不知所措。

有人知道我该如何解决这个问题吗?

最佳答案

  • 您浏览过Bean types吗?在您的部署中。这将帮助您解决雄心勃勃的决心。
  • @Typed自 CDI 1.0 起注释可用
  • 您也可以依赖限定符,但最好使用限定符来实现功能语义。
  • 另请检查这些 restricting bean types .

关于java - 创建 Producer 方法时收到模糊依赖警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71648789/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com