2014-09-05 2 views
0

저지/그리즐리를 통해 웹 서비스를 제공하는 경량 Java 애플리케이션이 있습니다. 그것은 단지 JSON 콘텐츠를 다시 전송으로 매우 간단합니다 : I는 서버 측 작업을 수행하고자하는JAX-RS 엔드 포인트 트리거링 서버 측 작업

@GET 
public Response status() { 
    CacheControl cc = new CacheControl(); 
    cc.setMaxAge(CLIENT_EXPIRY); 
    cc.setPrivate(true); 

    ResponseBuilder builder = Response.ok(someJsonString, MediaType.APPLICATION_JSON); 
    builder.cacheControl(cc); 
    return builder.build(); 
} 

을 때 경우에만이 응답하지만, 응답 자체를 지연없이 클라이언트 요청.

이러한 다른 방법은 응답에 영향을주지 않지만 서버 리소스를 사용하고 상당한 시간이 걸릴 수 있습니다. 응답 작성 중에 전화를 붙여 넣으면 최종 사용자 경험을 즐겁게 만들 수 있습니다.

응답을 지연시키지 않고 엔드 포인트 활동을 모니터하고 서버 측 치료를 트리거하는 좋은 방법은 무엇입니까?

답변

0

작업을 수행 할 새 스레드를 시작한 다음 클라이언트에 응답을 반환하십시오. 서버의 리소스를 소모하지 말고 스레드 풀을 사용하는 것을 고려하십시오. 이렇게하면 클라이언트는 응답을 기다리지 않고 작업이 실행됩니다.