首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将VertxOptions设置为在每个垂直线上使用?

如何将VertxOptions设置为在每个垂直线上使用?
EN

Stack Overflow用户
提问于 2017-04-03 19:51:51
回答 1查看 1.9K关注 0票数 0

有一个简单的方法来设置在创建所有眩晕?时将使用的选项吗?

在交互式调试器中调试Vertx时,需要设置一些选项以防止Vertx监视狗代码(例如BlockedThreadChecker)抛出异常。

问题是,我不确定如何设置Vertx选项,因此从Vertx.vertx()工厂方法返回的所有Vertx实例都将使用它们。

例如,

代码语言:javascript
复制
public static void main(String[] args){
    VertxOptions vertxOptions = new VertxOptions();
    vertxOptions.setBlockedThreadCheckInterval(999888777666L);
    vertxOptions.setMaxEventLoopTime(999888777666L);
    Vertx myVertx = Vertx.vertx(vertxOptions);          // (A)
    Verticle myVerticle = new MyVerticle();             // (B)
    myVertx.depoyVerticle(myVerticle);                  // (C)

    App myApp = new App();
    myApp.run();
}

public void run(){
    Vertx vertx = Vertx.vertx();                        // (D)
    vertx.deployVerticle(new AnotherVerticle());
}

Some other code 
class AnotherVerticle extends AbstractVerticle {
    public void someOtherCode(){
        Verticle myVerticle = new MyVerticle();         // (E)
        vertx.deployVerticle(myVerticle);               // (F)
    }
 }

步骤(A)创建一个具有选项集的Vertx实例。经过反复试验,当这个实例被用来部署眩晕时,Vertx BlockedThreadChecker就不会抱怨了。

在步骤(B)中,当AbstractVerticle如何在步骤(A)中设置选项时,将创建一个新的Vertx实例。

此外,在实现了Verticles的其他类中(例如(E)和(F) ),如何使用步骤(A)中使用的相同选项来创建这些Vertx实例。

如果没有正确地执行此操作,我将看到接收堆栈跟踪消息,如

代码语言:javascript
复制
WARNING: Thread Thread[vert.x-eventloop-thread-0,5,main] has been blocked for 5853 ms, time limit is 2000
    io.vertx.core.VertxException: Thread blocked
    ...
EN

回答 1

Stack Overflow用户

发布于 2017-04-04 07:57:53

您可以从单个VertxOptions创建新的JsonObject实例。

但是,为什么首先需要所有这些Vert.x实例?在大多数情况下,每个进程应该有一个Vert.x实例。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43193136

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档