2017-05-14 1 views
0

응용 프로그램 배경 : 비동기 항목 프로세서를 사용하고 대리자를 복합 프로세서로 전달하고 있습니다. 프로세서에서 예외가 발생하면 쓰기 오류 리스너가 호출됩니다.Spring 일괄 처리 : 비동기 항목 프로세서를 사용하는 동안 쓰기 오류 수신기에서 실제 항목 가져 오기

onWriteError 방법 서명 (예외 예외 목록의 항목)

입니다 문제 : onWriteError 방법에 대한 목록 모든 항목이 미래의 작업입니다. 만약 내가 미래의 작업에 대해 "get"메소드를 호출하면, 쓰기 에러가 발생하는 동일한 예외가 발생합니다.

비동기 실행 중에 작성기 수신기 메서드에서 원본 항목을 가져 오는 방법은 무엇입니까?

회사 정책에 따라 온라인 포럼에 코드를 게시 할 수 없으므로 실제 코드를 제공 할 수 없습니다.

답변

0

수 없습니다. 그것은 시간이 거슬러 올라가는 것과 같습니다. 이는 AsyncItemProcessor/AsyncItemWriter 조합의 단점 중 하나입니다. 미래는 일반적으로 ItemWriter에서 풀어됩니다

때문에, 수명주기가와 (프레임 워크가 프로세서의 결과가 무엇인지 알고하지 않기 때문에) 제한 통계 : javadoc가이 AsyncItemProcessor에서 지적 하듯이. 철저한 목록은 아니지만 Stepwise.filterCount와 같은 은 필터링 된 숫자 인 을 반영하지 않으며 ItemProcessListener.onProcessError (Object, Exception)는 이 호출되지 않습니다.

관련 문제