我目前在使用 Azure 功能管理器时遇到问题。我使用以下教程向我的应用程序添加功能切换:链接
只要我们在讨论手动设置的功能标志,它就可以正常工作。只要在 Azure 中将功能类型设置为“定位”,以下代码就会导致错误。
featureManager.isEnabledAsync(FeatureToggle.OUR_FEATURE_TARGETING.key).block()
具体来说,我们将进入No bean named 'Microsoft.Targeting' available
spring 错误日志。尝试访问包含上述代码的端点的客户端将收到 500 错误消息Fail fast is set and a Filter was unable to be found: Microsoft.Targeting
附加信息
我正在使用 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 class FeatureToggle(val key: String) {
OUR_FEATURE_TARGETING("feature")
}