从内部 class 外部访问 vertx verticle 的部署 ID?

Access deployment id of vertx verticle from outside the inner class?

您好,我已经像这样部署了 vertx verticle,现在我希望 asynchResult 访问这个内部 class。我浏览了很多帖子,但没有找到任何解决方案。

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,他的所有子项也将被取消部署。取消部署 Verticle 的工作方式如下:

container.undeployVerticle(deploymentID);

伙计,我得到了答案。我刚刚制作了一个 setId 本地方法,该方法将 AsynchResult 作为参数,并从内部 class 内部将 asynchResult 传递给此方法。所以我在这个方法中得到了值。

private void setDeployIds(AsyncResult<String> asyncResult){
          System.out.println("Deployment ID :" +asynchResult.result());
      }