내부적으로 외부 호출을하고 문제가 발생할 경우 단일 일반 서비스 예외를 throw하는 클라이언트 API jar가 있습니다. 필자는 API 호출을 통해 hystrix 래퍼를 작성했습니다. 예외를 반환하는 '사용자를 찾을 수 없음'과 같은 경우가 있습니다. 전화가 성공적이었고 서비스가 유효한 응답으로 응답했지만 hystrix는이를 실패로 간주합니다. 나는 Hystrix에서 예외를 무시할 수 있다는 것을 알고 있습니다. 서비스 호출에 의해 발생한 유일한 예외를 허용합니다. 선택적으로 예외 또는 http 상태 코드 또는 뭔가 메시지를 기반으로 서비스 호출에 의해 throw 된 예외를 무시할 수있는 방법이 있습니까?Hystrix에서 선택적으로 서비스 예외를 무시할 수 있습니까?
0
A
답변
0
외부 서비스가 서로 다른 경우에 다른 예외를 던질 경우, 당신은 아마이
@HystrixCommand(ignoreExceptions = {SomeException.class})
같은 그 예외는 무시할 수 있습니다하지만 당신은 그때 해결하는 가장 좋은 방법 오류 메시지에 대한 예외 기지를 무시해야하는 경우이있다 외부 통화를 시도해보십시오. catch 블록에서 무시해야하는 예외 중 하나인지 확인하십시오. 그렇다면 아무것도하지 마십시오. 이 예외를 재발행하지 않는 경우. 이 같은 것이 할 것입니다. HystrixBadRequestException에 대한 자세한 정보
@HystrixCommand(fallbackMethod = "fallBackMethod", groupKey = "CircuitBreaker", commandKey = "somekey", threadPoolKey = "somekey",
commandProperties = {
@HystrixProperty(name = "execution.isolation.thread.timeoutInMilliseconds", value = "10000"),
@HystrixProperty(name = "execution.timeout.enabled", value = "false"),
@HystrixProperty(name = "circuitBreaker.requestVolumeThreshold", value = "20"),
@HystrixProperty(name = "circuitBreaker.sleepWindowInMilliseconds", value = "1200000"),
},
threadPoolProperties = {
@HystrixProperty(name = "coreSize", value = "30"),
@HystrixProperty(name = "metrics.rollingStats.timeInMilliseconds", value = "180000")
})
public void someMethod(....){
try {
// Call external service
} catch(Exception e) {
if(exception to be ignored)
throw new HystrixBadRequestException("Some message", e);
else
throw e
}
}
관련 문제
- 1. 예외를 무시할 수 있습니까?
- 2. 어떻게 녹아웃 '제출'바인딩을 선택적으로 무시할 수 있습니까?
- 3. 오류가 발생하면 예외를 무시할 수 있습니까?
- 4. JUnit에서 예상되는 예외를 무시할 수 있습니까?
- 5. TextBox를 무시할 수 있습니까?
- 6. 실종자의 누락 된 역할을 무시할 수 있습니까?
- 7. 웹 서비스 (WSE)에서 상속하는 경우 결과를 무시할 수 있습니까?
- 8. memcached를 선택적으로 사용할 수 있습니까?
- 9. 'out'매개 변수를 무시할 수 있습니까?
- 10. 단검에서 바인딩을 무시할 수 있습니까?
- 11. OpenCL에서 캐시를 무시할 수 있습니까?
- 12. "호출"기능을 무시할 수 있습니까?
- 13. Tiger에서 loginwindow를 무시할 수 있습니까?
- 14. Swift에서 deinit를 무시할 수 있습니까?
- 15. 전역 .gitignore를 무시할 수 있습니까?
- 16. 콘솔 로그를 무시할 수 있습니까?
- 17. NSwag에서 컨트롤러를 무시할 수 있습니까?
- 18. 폼 헬퍼를 무시할 수 있습니까?
- 19. Express에서 경로를 무시할 수 있습니까?
- 20. 제거 기록을 무시할 수 있습니까?
- 21. 역방향 탐색을 무시할 수 있습니까?
- 22. __setattr__을 부분적으로 무시할 수 있습니까?
- 23. 전역 변수를 무시할 수 있습니까?
- 24. 기본 소멸자를 무시할 수 있습니까?
- 25. 로그인 스크립트를 무시할 수 있습니까?
- 26. Java를`CompletablyFuture.exceptionally` 사용하여 선택적으로 예외를 계속합니다.
- 27. Hystrix에서 CircuitBreaker Opening 이벤트를 구독 할 수 있습니까?
- 28. C# 코드에서 throw 된 예외를 선택적으로 무시합니다.
- 29. hystrix에서 캐시를 제거하는 방법
- 30. SQL Server 전체 텍스트 쿼리에서 동의어 사전 파일을 선택적으로 무시할 수 있습니까?
빠른 응답을 주셔서 감사합니다. 내 문제는 호출자에게 예외가 전달되도록하려는 것입니다. 단지 예외가 실패로 간주되지 않는 경우가 있습니다. – user9070814
나는 내 대답을 수정했다. 봐. http://netflix.github.io/Hystrix/javadoc/com/netflix/hystrix/exception/HystrixBadRequestException.html 문서에 따르면 제대로 작동합니다. 내가 직접 해보지는 않았지만 – pvpkiran