2014-01-20 43 views
0

我正在使用這個簡單的Thread.sleep(216000000); // 24小時在war文件上 我上傳到Cloudbees paas平臺。 一切工作正常,但線程不會入睡。 任何想法爲什麼?Thread.sleep沒有在Cloudbees平臺上睡覺

+1

難道沒有相關的代碼嗎?請注意,您的應用會在2小時後進入休眠狀態,因此,除非您將應用升級到付費級別,否則該代碼無法正常工作,從而使其全天候工作。 – felix

+0

是的,它在本地工作。我會升級,如果它工作。 – user3214146

回答

0

我部署在CloudBees的這個主要一個簡單的測試Java應用程序:

公共類ThreadExample {

public static void main(String[] args){ 
    System.out.println(Thread.currentThread().getName()); 
    for(int i=0; i<10; i++){ 
     new Thread("" + i){ 
      public void run(){ 

       if(Integer.valueOf(getName())==5){ 
        try { 
         Thread.sleep(15000); 
        } catch (InterruptedException e) { 
         // TODO Auto-generated catch block 
         e.printStackTrace(); 
        } 
       } 
       System.out.println("Thread: " + getName() + " running"); 
      } 
     }.start(); 
    } 
} 

}

和Thread.sleep代碼爲我工作。

什麼樣的應用程序是你的?它是一個網絡應用程序?如果是這樣,你使用了哪個應用程序容器?

+0

是的,它是網絡應用程序。你是什​​麼意思哪個堆棧? – user3214146

+0

我更新了我的答案 – valentina

+0

應用程序容器:tomcat 7 – user3214146

0

我會建議使用Quartz設置一個循環計劃任務,而不是使用sleep()。