有一个简单的方法来设置在创建所有眩晕?时将使用的选项吗?
在交互式调试器中调试Vertx时,需要设置一些选项以防止Vertx监视狗代码(例如BlockedThreadChecker)抛出异常。
问题是,我不确定如何设置Vertx选项,因此从Vertx.vertx()工厂方法返回的所有Vertx实例都将使用它们。
例如,
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实例。
如果没有正确地执行此操作,我将看到接收堆栈跟踪消息,如
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
...发布于 2017-04-04 07:57:53
您可以从单个VertxOptions创建新的JsonObject实例。
但是,为什么首先需要所有这些Vert.x实例?在大多数情况下,每个进程应该有一个Vert.x实例。
https://stackoverflow.com/questions/43193136
复制相似问题