如何将钩子添加到Vertx启动器

时间:2019-04-25 15:55:21

标签: vert.x

我想使用Vert.x千分尺度量标准收集度量标准,因此我需要为VertxOptions设置适当的选项。我用Launcher运行Vertx,在DeploymentVerticle之前有一个钩子,但是当我覆盖它时,它没有被调用。

我覆盖了Launcher类和beforeDeployingVerticle方法,但从未执行过此方法。

public class LauncherTest {

    public static class SimpleVerticle extends AbstractVerticle {
        @Override
        public void start(Future<Void> startFuture) throws Exception {
            System.out.println("verticle started");
        }
    }

    public static class LauncherWithHook extends Launcher {
        @Override
        public void beforeDeployingVerticle(DeploymentOptions deploymentOptions) {
            System.out.println("before deploying");
        }
    }


    public static void main(String[] args) {
        new LauncherWithHook().execute("run", SimpleVerticle.class.getName());
    }
}

结果,我只收到verticle started,但我希望在那里也有before deploying。我是否应该以其他方式添加此钩子?

1 个答案:

答案 0 :(得分:1)

像这样更改您的主要方法:

public static void main(String[] args) {
    String[] argz = {"run", "your.namepace.LauncherTest$SimpleVerticle"};
    LauncherWithHook launcher = new LauncherWithHook();
    launcher.dispatch(argz);
}