2011-04-14 3 views
1

일부 서블릿에 일부 처리를 지시해야하는 코드가 있습니다. 내 코드는 서블릿에서 아무것도 얻지 않을 것으로 기대합니다. 서블릿이 어떤 처리를해야한다는 것을 서블릿에 알리는 역할을합니다. 무엇이 처리되어야하는지, 어떻게 처리해야하는지는 URL의 일부입니다. 예를 들면 다음과 같습니다. http://myserver:port/myservlet/something.do?param1=param1value&param2=param2value ...Java http 포스트 관련 질문

그러나 서블릿의 응답을 기다리는 코드는 원하지 않습니다. 내 코드는 계속 움직여야한다. 현재 내 코드에서 하나의 요청을 한 다음 서블릿이 다음 http 게시 요청을하기 전에 응답을 되돌릴 때까지 기다립니다. 멀티 스레딩은 옵션이지만 이것 이외의 다른 옵션이 있습니까?

+2

JMS를 사용할 수 있습니다. – Pushkar

답변

5

서블릿 호출이 차단되었습니다. 별도의 스레드에서 프로세스를 실행하는 경우를 제외하면 수행 할 수있는 작업은 많지 않습니다. 예 :

ExecutorService executor = Executors.newSingleThreadExecutor(); 
// NON BLOCKING CALL 
executor.submit(new Runnable() { 
       @Override 
       public void run() { 

        callTheServlet(); 
       } 
      }); 
executor.shutdown();