你好,这是一个first-timers-only
问题。这意味着我们一直在努力让那些以前没有为我们的代码库做出过贡献的人,甚至以前没有为开源做出过贡献的人更容易理解。
如果您就是这样,我们有兴趣帮助您迈出第一步,并可以回答您的问题并为您提供帮助。请注意,我们对自由和开源软件中代表性不足的群体的贡献特别感兴趣!
如果您以前曾贡献过,请考虑将这一贡献留给新人,并查看我们的一般ideal-for-contribution
问题。谢谢!
该@Endpoint
注释将类型标识为执行器端点。 Spring Boot 的执行器基础结构会查找具有此注释的 bean。
当 Spring Cloud@RefreshScope
在一个 bean 上使用时@Endpoint
,它会为该端点注册另一个 bean,其 bean 名称以 为前缀scopedTarget
。 Spring Boot 在查找@Endpoint
bean 时也会发现此 bean,但会失败,因为它找到两个具有相同 ID 的端点 bean。
我们应该像这次提交中针对不同类型的 bean 所做的那样,过滤掉scopedTarget.
端点 bean 的版本。ScopedProxyUtils.isScopedTarget(name)
可以在此处找到用于发现端点 bean 的代码。
该测试可以为同一@Endpoint
类注册两个 bean,其中一个名称前缀为 ,scopedTarget.
并断言仅@Endpoint
发现原始 bean。