我目前有一个问题的Azure功能管理器。我使用以下教程向我的应用程序添加了一个特性切换:链接
只要我们说的是手动设置的特性标志,它就能正常工作。一旦在Azure中将特性的类型设置为“目标”,下面的代码将导致错误。
featureManager.isEnabledAsync(FeatureToggle.OUR_FEATURE_TARGETING.key).block()具体来说,我们将在春季错误日志中获得No bean named 'Microsoft.Targeting' available。试图访问包含上述代码的端点的客户端将获得带有错误消息Fail fast is set and a Filter was unable to be found: Microsoft.Targeting的500。
更多信息
我用的是Kotlin和Spring。
将功能设置为“基于时间的”也会导致错误。
调用功能管理器的服务如下所示
@Autowired
private lateinit var featureManager: FeatureManager
fun feature(): String {
if (featureManager.isEnabledAsync(FeatureToggle.OUR_FEATURE_TARGETING.key).block() == true) {
return "feature A!"
} else {
return "feature B!"
}FeatureToggle Enum看起来像这样
enum class FeatureToggle(val key: String) {
OUR_FEATURE_TARGETING("feature")
}发布于 2022-03-29 16:05:46
它不会在指南中详细介绍,但是内置的特性标志在默认情况下不会被配置为打开,然后需要在@Configuration文件中构建。更多信息可以在这里找到https://microsoft.github.io/spring-cloud-azure/docs/azure-app-configuration/2.3.0/reference/html/index.html#built-in-feature-filters。
https://stackoverflow.com/questions/65218566
复制相似问题