2012-05-07 16 views
2

Play Frameworkを使用してWebサービスを作成しようとしていますが、これをschedulingに参加させたい場合は、毎分getRunJob()と呼びます。再生フレームワーク内のCronジョブ

直接http://localhost:9000/runのときのコールそれは動作しますが、私はそれがエラーjava.lang.IllegalArgumentException: Illegal URL: localhost://nullなるWS.WSRequest resp = WS.url("localhost:9000/run");を使用して、私のSchedulerクラスから呼び出すしようとしたとき。

私のコードに問題はありますか?してくださいアドバイス、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