Spring Cloud Hystrix 仪表板不与 OAuth 一起使用
Posted
技术标签:
【中文标题】Spring Cloud Hystrix 仪表板不与 OAuth 一起使用【英文标题】:Spring Cloud Hystrix Dashboard not working with OAuth 【发布时间】:2015-06-19 19:10:50 【问题描述】:我正在尝试使用 Hystrix Dashboard 运行一个简单的 Spring 应用程序。我还在这个应用程序上启用了 Spring 安全性,因为我要监控的 hystrix.streams 已启用安全性。 当我访问仪表板 url 时,我会按预期重定向到登录页面以获取我的令牌,然后登录后,我会看到仪表板页面。然后我粘贴我希望监控的 hystrix.stream 的 url 并按下监控器,但是,下一页只是对电路和线程池都有“正在加载...”。我在 PCF 环境中运行它: 我可以在项目的 Gradle 依赖项中看到 Spring Cloud Starter 包含的 Hystrix 版本是 1.4.0-RC6。我从here 下载了 hystrix-dashboard 1.4.0-RC6 的战争,并运行它,并注意到即使我在授权窗口中粘贴了正确的令牌,效果与 Spring Cloud Hystrix 仪表板相同 -卡在“加载中...” 当我运行 hystrix-dashboard wars 1.4.3 及更高版本时,没有问题。 也许Spring Cloud Hystrix中的hystrix版本需要更新?
【问题讨论】:
它已经在快照中更新到 1.4.1。与Netflix构建的战争对抗是我们尚未测试过的。 啊,好的。当我从源代码(github.com/Netflix/Hystrix)构建 hystrix-dashboard 时,构建的版本是 1.5.0-SNAPSHOT。看起来最新的官方版本是 1.4.4:github.com/Netflix/Hystrix/blob/master/CHANGELOG.md。通过在授权窗口中粘贴 OAuth 令牌来访问 hystrix.stream 肯定不适用于我的 1.4.2 或更早版本的设置,但适用于 1.4.3 及更高版本。希望 Spring Cloud Hystrix 在不久的将来更新到 1.4.3 或更高版本? 这里是升级到 1.4.4 的问题。 github.com/spring-cloud/spring-cloud-netflix/issues/300 1.4.4 现在在快照中 非常感谢您的及时响应和行动。我将我项目的 build.gradle 中 spring-cloud-starter-hystrix 和 spring-cloud-starter-hystrix-dashboard 的版本从 1.0.0.RELEASE 修改为 1.0.1.BUILD_SNAPSHOT,但不幸的是选择了 Gradle->Refresh依赖项没有拉下预期的新依赖项。 (我删除了 %USERPROFILE%\.gradle\caches\modules-2\files-2.1\org.springframework.cloud ,改回 1.0.0.RELEASE 并刷新了依赖项以确保它确实适用于该版本,并且确实如此确实再次拉下依赖项)。 【参考方案1】:对于 gradle,我们建议使用 dependency-management-plugin,因为解决依赖关系的 gradle 策略可能会导致问题。
【讨论】:
刚刚复制了斯宾塞的评论作为答案,以便更容易找到。 谢谢,我在项目的 build.gradle 文件中添加了依赖管理插件,但是当我尝试作为 Spring 启动应用程序运行时,仍然看到循环依赖错误。 build.gradle 和 Spring Boot 堆栈跟踪可作为 gist here 你从gradle dependencies
得到什么版本的archaius-core?
archaius-core-0.4.1.jar
应该是 0.6.5。您需要使用依赖管理插件,而不仅仅是安装它我认为。将spring-cloud-starter-parent
添加为 BOM。以上是关于Spring Cloud Hystrix 仪表板不与 OAuth 一起使用的主要内容,如果未能解决你的问题,请参考以下文章
Spring Cloud 2-Hystrix DashBoard仪表盘
新项目不要再用 Spring Cloud Hystrix 了
SpringCloud - Spring Cloud Netflix 之 Hystrix Dashboard仪表盘监控
Hystrix 和 Turbine 不适用于 Spring boot 2 和 Spring cloud Finchley.M8