![](/img/trans.png)
[英]VertX3 verticle deployment: CompletionHandler not triggered
[英]Access deployment id of vertx verticle from outside the inner class?
嗨,我已經像這樣部署了vertx verticle,現在我希望asynchResult訪問此內部類。 我已經瀏覽了很多帖子,但是沒有找到任何解決方案。
container.deployVerticle("com.demo.vertx.FirstVert", snmp_trap_listener_count, new AsyncResultHandler<String>() {
public void handle(AsyncResult<String> asyncResult) {
if (asyncResult.succeeded()) {
System.out.println("The verticle has been deployed, deployment ID is " + asyncResult.result());
} else {
asyncResult.cause().printStackTrace();
}
}
});
請幫助解決此問題..
您可以從異步處理程序獲取部署ID,如下所示:
container.deployVerticle("foo.ChildVerticle", new AsyncResultHandler<String>() {
public void handle(AsyncResult<String> asyncResult) {
if (asyncResult.succeeded()) {
System.out.println("The verticle has been deployed, deployment ID is " + asyncResult.result());
} else {
asyncResult.cause().printStackTrace();
}
}
});
如果您取消部署一個Verticle,那么他所有的孩子也會被取消部署。 取消部署垂直終端的工作方式如下:
container.undeployVerticle(deploymentID);
所以我得到了我的答案。 我剛剛制作了一個setId本地方法,該方法以AsynchResult作為參數,並從內部類內部將asynchResult傳遞給此方法。 所以我用這種方法得到了價值。
private void setDeployIds(AsyncResult<String> asyncResult){
System.out.println("Deployment ID :" +asynchResult.result());
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.