2012-05-07 205 views
2

我正在嘗試使用Play Framework創建Web服務,並且我想用scheduling加入它,每分鐘都會調用getRunJob()Cron Job在播放框架

它直接作用時調用http://localhost:9000/run,但是當我嘗試使用WS.WSRequest resp = WS.url("localhost:9000/run");從我Scheduler類調​​用它成爲錯誤java.lang.IllegalArgumentException: Illegal URL: localhost://null

我的代碼有問題嗎?請指教,謝謝...

Application.java

public class Application extends Controller { 

    public static void index() { 
     render(); 
    } 

    public static void getRunJob() { 
     SimpleDateFormat format = new SimpleDateFormat("HH:MM"); 
     renderText("Running... " + format.format(new Date())); 
    } 

} 

Scheduler.java

@On("1 * * * * ?") 
public class Scheduler extends Job { 

    @Override 
    public void doJob() { 
     System.out.println("Test"); 
     WS.WSRequest resp = WS.url("localhost:9000/run"); 
     System.out.println(resp.get().getString()); 
    } 
} 

路線

GET /          Application.index 
GET  /run         Application.getRunJob 
+0

您是否需要URL中的協議? –

+0

我需要根據'routes'文件運行'getRunJob'。我在調用另一個Web服務之前嘗試過,但是使用python創建,它只是使用'WS.url(String url)',但是當試圖訪問我自己的Web服務時出錯。 – Crazenezz

回答

2

將協議添加到WS.url中:

WS.WSRequest resp = WS.url("http://localhost:9000/run"); 
+0

它的工作原理,我忘記了'http://'。非常感謝你。 – Crazenezz