我有一个带有使用 Jersey/JAX-RS 注释实现的公共端点的 Spring Boot 应用程序。Hystrix Dashboard 使用@EnableHystrixDashboard 启用,HystrixMetricsStreamServlet 在“/hystrix.stream”下注册(如示例中所示)。
访问 .../hystrix.stream 时,指标数据可用于 HystrixCommands,但起始仪表板页面“/hystrix”为空,给出HTTP 404 状态代码。
知道为什么泽西岛无法访问它吗?
如果同样使用 Spring WebMVC(不是 Jersey)实现,则仪表板页面可用。
我的pom.xml
- 不包括 spring-webmvc 并取决于 jersey
- 取决于 hystrix、事件流、仪表板、执行器
-
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jersey</artifactId>
</dependency>
<dependency>
<groupId>com.netflix.hystrix</groupId>
<artifactId>hystrix-core</artifactId>
<version>${hystrix.version}</version>
</dependency>
<dependency>
<groupId>com.netflix.hystrix</groupId>
<artifactId>hystrix-metrics-event-stream</artifactId>
<version>${hystrix.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-hystrix-dashboard</artifactId>
<version>1.0.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-hystrix</artifactId>
<version>1.0.2.RELEASE</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.netflix.archaius</groupId>
<artifactId>archaius-core</artifactId>
<version>0.6.6</version>
</dependency>