2011-04-14 77 views
1

我有一段代碼必須指示我的servlet做一些處理。我的代碼並不期望從servlet獲得任何回報。它的工作是通知servlet需要做一些處理。需要處理的是什麼,需要如何處理是URL的一部分,例如: http://myserver:port/myservlet/something.do?param1=param1value&param2=param2value ...Java的HTTP帖子相關的問題

但我不希望我的代碼等待來自該servlet的任何響應。我的代碼應該繼續前進。目前,我看到我的代碼發出一個請求,然後等到servlet發送迴應,然後才轉到發出下一個http post請求。多線程是一種選擇,但除此之外還有其他選擇嗎?

+2

您可以使用JMS。 – Pushkar 2011-04-14 16:34:40

回答

5

對servlet的調用被阻止。除了在一個單獨的線程中運行這個進程之外,你可以做的事情不多。例如:

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

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