2016-03-31 17 views

回答

4

根本就

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

@Will:謝謝,添加了一個考慮到這一點的例子。 –

+0

@AlexanderTorstling你可以更清楚地瞭解'result.cause()'?我看不到它來自哪裏。 – thisdotvoid