gpt4 book ai didi

Hystrix 仪表板卡在加载屏幕上

转载 作者:行者123 更新时间:2023-12-05 05:10:38 27 4
gpt4 key购买 nike

我在 localhost:8988/hystrix 上运行了 Hystrix 仪表板,我想监控 OrderService 和 ProductService 之间的请求。端点“hystrix.stream”已注册,Hystrix 仪表板卡在加载过程中,没有任何结果。

这是调用我要监控的 Product Service 的服务客户端:

@Service
public class ProductServiceClient {
private final RestTemplate restTemplate;
public ProductServiceClient(RestTemplate restTemplate) {
this.restTemplate = restTemplate;
}
@HystrixCommand(fallbackMethod = "getDefaultProductById")
public Optional<ProductDto> getProductById(Long productId) {
ResponseEntity<ProductDto> productResponse = restTemplate
.getForEntity("http://product-service/api/product/{id}",
ProductDto.class,
productId);
if (productResponse.getStatusCode() == HttpStatus.OK) {
return Optional.ofNullable(productResponse.getBody());
} else {
log.error("Unable to get product with ID: " + productId
+ ", StatusCode: " + productResponse.getStatusCode());
return Optional.empty();
}
}
Optional<ProductDto> getDefaultProductById(String productId) {
log.info("Returning default ProductById for product Id: " + productId);
ProductDto productDto = new ProductDto();
productDto.setId(productId);
productDto.setName("UNKNOWN");
productDto.setDescription("NONE");
return Optional.ofNullable(productDto);
}
}

我在主类中添加了@EnableCircuitBreaker 注释并使用了这些依赖项:

        <dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
<version>2.1.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
<version>2.1.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
<version>2.1.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
<version>2.1.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-sleuth</artifactId>
<version>2.1.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
<version>2.1.1.RELEASE</version>
</dependency>

最佳答案


问题

在我的例子中,错误发生在将 spring-cloud 升级到 Hoxton.SR6 之后。

在浏览器控制台中,出现以下错误:

Uncaught TypeError: e.indexOf is not a function

这似乎是一个 jquery 版本问题。


解决方案

将spring-cloud版本降级为Hoxton.SR4,错误消失。

因此,您可能需要检查浏览器的控制台输出以查看是否存在错误。


提示

  • 另一个可能的原因是您还没有访问由@HystrixCommand 标记的应用程序的api。
    在这种情况下,调用 API,然后仪表板将显示图表。

关于Hystrix 仪表板卡在加载屏幕上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56416462/

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