2012-07-16 3 views
0

4 초를 기다린 후 응답을 반환하는 서버와 통신하는 클라이언트가 있고 처리를 계속합니다.HttpResponse의 수신을 지연

문제는 서버 응답 (200 OK)이 모든 치료의 끝에서 반환되며 4 초의 일시 중지 이후가 아니라는 점입니다. 나는

여기 내 코드

try { 
     mimeTraitement.getMime(client); 
     mimeTraitement.analyseMime(xmlDir); 

     if (mimeTraitement.checkMime()) { 

       System.out.println("Acquittement de la requete dans " + BeanParametrageTimers.getTimeWaitResponseOkToRequest()/1000+ " secondes"); 
       synchronized(response) 
       { 
       try { 
        response.wait(BeanParametrageTimers.getTimeWaitResponseOkToRequest()); 
       } catch (InterruptedException e1) { 

        e1.printStackTrace(); 
       } 
      } 

      writer.write("200 OK (MimeMultipart valide)");// this line is displayed after the processing of postXml.sendXml() on my java console 
      PostXml postXml = new PostXml(xmlDir,mimeTraitement.getGetUrl()); 
      System.out.println("Envoi du fichier xml dans " + BeanParametrageTimers.getTimeWaitSendXmlToRequest()/1000 + " secondes"); 
      Thread.sleep(BeanParametrageTimers.getTimeWaitSendXmlToRequest()); 
      postXml.sendXml(); 

     } else 
      writer.write("400 POK (MimeMultipart non valide)"); 
    } catch (MessagingException e) { 
     e.printStackTrace(); 
    } catch (InterruptedException e) { 
     e.printStackTrace(); 
    } 

의 조각이 왜 t 내가 버퍼 크기에 도달했기 때문에 응답이 최선을 다하고지고 있다고 생각 당신에게

답변

0

대단히 감사 이해 돈.

출력 버퍼링되지 않습니다 있는지 확인하려면 여기를 Reasons for response getting committed

+0

감사합니다. 그래서 버퍼 크기 문제입니다. 어떻게 그것을 늘릴 수 있습니까 (i 서블릿은 JSP가 아닙니다). – ulquiorra

1

사용 writer.flush() 찾을 수 있습니다.

+0

감사합니다. 도움을 주셔서 감사합니다.하지만 아무 것도하지 않습니다. 응답은 아직 끝나고 response.wait() 뒤에는 보내지지 않습니다. – ulquiorra

관련 문제