현재 Repostiory, Service, Controller (Spring WebMVC), JacksonJson Mapper가 "view"로 기본 스프링 아키텍처를 가지고 있습니다. 모든 리포지토리/서비스/컨트롤러 메서드는 다음과 같습니다.Spring MVC 및 Spring JdbcTemplate RowCallbackHandler를 사용하고 결과를 스트림하는 방법은 무엇입니까?
public Collection<Pet> findPetsWithName(String name) {}
기본적으로 각 레이어는 데이터를 검색하고 계산을 수행하여 다음 레이어로 반환합니다.
데이터 크기가 늘어남에 따라 Spring JdbcTemplate, 페치 크기 설정 및 RowCallbackHandler를 사용하여 한 번에 모두 가져 오는 대신 데이터베이스 결과를 "스트리밍"했습니다.
내 질문은 다음과 같습니다. "콜백"방식을 저장소 계층뿐만 아니라 모든 계층에 적용하여 모든 결과가 콜백 기능을 통해 콜렉션으로 반환하도록 할 수 있습니까? SpringMVC 뷰와 함께 작동합니까? 난의 사슬로 매인 콜백으로 끝날 거라고 생각 :
RowCallbackHandler (ServiceCallbackHandler (ControllerCallbackHandler (SpringViewHandler (HttpSerlvetResponse))))
public void findPetsWithName(String name, Callback<Pet> callback) {}
사람이 접근 방식을 경험 했습니까? 기존 패턴 또는 템플릿이 있습니까? 나는 디자인하기가 더 어렵 기 때문에 큰 데이터 크기에 대해서만 이익이 있다고 생각한다.