>

Spring Boot 2.0에서 hystrix.stream을 활성화하는 방법을 찾지 못했습니다. http : // localhost : 8080/hystrix.stream 으로 이동하여 파일에 액세스하려고하면 404 파일을 찾을 수 없음 오류가 발생합니다.

컨트롤러에서 호출 된 메소드 :

@GetMapping("/")
public Mono<String> index(Model model) {
    model.addAttribute("images",
            imageService
                    .findAllImages()
                    .map(image -> new HashMap<String, Object>() {{
                        put("id", image.getId());
                        put("name", image.getName());
                        put("imageComments", commentHelper.getComments(image));
                }})
    );
    return Mono.just("index");
}

CommentHelper 코드, @HystrixCommand가 사용 중임을 참고하십시오 :

@Component
public class CommentHelper {
    private final RestTemplate restTemplate;
    CommentHelper(RestTemplate restTemplate) {
        this.restTemplate = restTemplate;
    }
    @HystrixCommand(fallbackMethod = "defaultComments")
    public List<Comment> getComments(Image image) {
        return restTemplate.exchange(
                "http://COMMENTS/comments/{imageId}",
                HttpMethod.GET,
                null,
                new ParameterizedTypeReference<List<Comment>>() {},
                image.getId()).getBody();
    }
    public List<Comment> defaultComments(Image image) {
        return Collections.emptyList();
    }
}

<시간>

다음은 build.gradle의 종속성입니다.

dependencies {
    compile 'org.springframework.boot:spring-boot-starter-webflux'
    compile 'org.synchronoss.cloud:nio-multipart-parser'
    compile 'org.springframework.boot:spring-boot-starter-data-mongodb-reactive'
    compile 'org.springframework.boot:spring-boot-starter-thymeleaf'
    compile 'org.springframework.boot:spring-boot-starter-actuator'
    compile 'org.springframework.boot:spring-boot-devtools'
    compile 'org.springframework.cloud:spring-cloud-starter-stream-rabbit'
    compile 'org.springframework.cloud:spring-cloud-stream-reactive'
    compile 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-client'
    compile 'org.springframework.cloud:spring-cloud-starter-netflix-hystrix'
    testCompile 'org.springframework.boot:spring-boot-starter-test'
    testCompile 'io.projectreactor:reactor-test'
    compile 'junit:junit:4.12'
}

http : // localhost : 8080/application/features 로 이동하면 Hystrix는 다음과 같이 활성화됩니다 :

{
    "enabled": [
        {
            "type": "com.netflix.hystrix.contrib.javanica.aop.aspectj.HystrixCommandAspect",
            "name": "Hystrix",
            "version": "1.5.12",
            "vendor": null
        },
        {
            "type": "com.netflix.discovery.EurekaClient",
            "name": "Eureka Client",
            "version": "1.8.4",
            "vendor": null
        },
        {
            "type": "org.springframework.cloud.client.discovery.composite.CompositeDiscoveryClient",
            "name": "DiscoveryClient",
            "version": "2.0.0.M3",
            "vendor": "Pivotal Software, Inc."
        },
        {
            "type": "org.springframework.cloud.netflix.ribbon.RibbonLoadBalancerClient",
            "name": "LoadBalancerClient",
            "version": "2.0.0.M3",
            "vendor": "Pivotal Software, Inc."
        },
        {
            "type": "com.netflix.ribbon.Ribbon",
            "name": "Ribbon",
            "version": "2.2.2",
            "vendor": null
        }
    ],
    "disabled": []
}

여기서 정확히 무엇이 잘못 되었습니까? 도움이된다면 여기에있는 코드를 따르려고합니다

https : //github.com/learning-spring-boot/learning-spring-boot-2nd-edition-code/tree/master/7/part2

학습 Spring Boot 2nd Edition을 진행하면서


  • 답변 # 1

    @EnableCircuitBreaker 추가  또는 @EnableHystrix   @EnableHystrixDashboard 로 주석 .

    management.endpoints.web.exposure.include=* 추가  application.properties에서.

    Hystrix 대시 보드는 http : // localhost : 8080/hystrix에서 액세스 할 수 있습니다.

    Hystrix 스트림 URL 입력에 http : // localhost : 8080/actuator/hystrix.stream을 입력하십시오.

  • 답변 # 2

    management.endpoints.web.exposure.include=* 를 포함해야합니다  이 문제에 따른 application.properties에서

  • 답변 # 3

    management.endpoints.web.base-path=/ 를 추가해야합니다.  application.properties에서. 예를 들어, 이것을 확인하십시오.

    경로가 비어 있어야하므로 /actuator/hystrix.stream 로 올바르게 등록됩니다. .

  • 이전 mybatis로 업데이트 행을 얻으려면 어떻게해야합니까?
  • 다음 excel - 행/범위 위로 이동하지만 특정 행 위로 이동하지 않음