묻고 답해요
156만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨RabbitMQ를 이용한 비동기 아키텍처 한방에 해결하기
챕터18 retry yml 강의 부분 질문
안녕하세요 챕터18 강의에 대한 질문 두가지가 있습니다..retry 관련 yml에 설정을 하였을 경우에는아래 코드에 자동으로 retryTemplate 이 적용되는 것으로 확인하였는데요..여기서 스프링이 어떻게 구분을 하고 해당 메서드에 retry를 적용 시키는 건가요? 아니면 큐 이름을 보고 ORDER_COMPLETED_QUEUE에 설정된 .withArgument(데드레터인자) 이 설정값들을 보고 확인 했던 것일까요..? 그리고 @Retryable 해당 어노테이션도 존재하던데 해당 어노테이션은 aop 방식으로 template이 적용되는 것 같은데 이 방법을 사용하여도 똑같이 적용 되는 것일까요.?@RabbitListener(queues = ORDER_COMPLETED_QUEUE) public void consume(String message){ if ("fail".equalsIgnoreCase(message)){ System.out.println("retry count: " + ++retryCount); throw new RuntimeException(); } System.out.println("Received Message: " + message); }
-
미해결스프링 배치
Retry 동작 관련 문의
안녕하세요. Retry 관련해서 궁금증이 있어 문의 드립니다.FaultTolerant 을 사용하여 Retry 관리를 하려고 하는데 Processor에 인입되는 Item을 아래와 같이 조작하여 Writer에 넘겨줄 경우 Writer에서 문제 발생 시 RetryState의 키가 바뀌어 '무한루프'가 도는 현상이 발생합니다.Listener 나 별도 Custom RetryPolicy 등을 활용하여 해결해보려 했지만 실패하여 고민끝에 글 남깁니다.혹시 관련하여 고려해야 할 점이나, 방안에 대하여 알 수 있을까요.public class PersonItemProcessor implements ItemProcessor<Person, Person> { @Override public Person process(final Person person) { person.setFirstName(person.getFirstName()+"A"); return person; } }