2016-03-31 8 views
3

メインメソッドからVerx 3 Verticleを起動するにはどうすればよいですか?私は単体テストから始める方法を理解しており、始めにguideは脂肪の入った瓶を作る方法を説明しています。しかし、どのようにすれば、デバッグ、プロファイリングなどの目的でメイン・メソッドから簡単に起動できますか?メインメソッドからVertx 3 Verticleを開始するにはどうすればよいですか?

答えて

4

は単にEDIT

public static void main(String[] args) { 
    Vertx vertx = Vertx.vertx(); 
    vertx.deployVerticle(MyVerticle.class.getName()); 
} 

または

public static void main(String[] args) { 
    Vertx vertx = Vertx.vertx(); 
    vertx.deployVerticle(new MyVerticle()); 
} 

の操作を行います。ウィルによって示唆されるように、ここではそれが成功するまで考慮し、ブロックにメインスレッドを結果を取る例です。

BlockingQueue<AsyncResult<String>> q = new ArrayBlockingQueue<>(1); 
Vertx.vertx().deployVerticle(new Application(), q::offer); 
AsyncResult<String> result = q.take(); 
if (result.failed()) { 
    throw new RuntimeException(result.cause()); 
} 
+0

結果を含むハンドラを使用するオーバーロードされたメソッドを使用することは常に価値があります。さもなければ、Verticleが起動に失敗したかどうかはわかりません。 – Will

+0

@ウィル:ありがとう、これを考慮に入れた例を加えた。 –

+0

@AlexanderTorstling 'result.cause()'についてもっと明確にすることができますか?どこから来ているのか分かりません。 – thisdotvoid

関連する問題