在扩展AbstractVerticle的类中设置VertxOptions的最佳实践

时间:2017-12-30 09:43:53

标签: java microservices vert.x vertxoptions abstractverticle

我通过mission-http-api-vertx学习 使用 Eclipse Vert.x 3.4.2 developers.redhat.com/launch 生成的脚手架上编码我的自定义。

我认为提议的方法非常符合经典,但我不明白在VertxOptions

中设置public class HttpApplication extends AbstractVerticle {的最佳做法是什么

我正在尝试:

import io.vertx.core.AbstractVerticle;
import io.vertx.core.VertxOptions;

public class HttpApplication extends AbstractVerticle {
  protected final int DEFAULT_ADDRESS_RESOLUTION_TIMEOUT = 8000;
  @Override
  public void start(Future<Void> future) {
    //  [snip] Create a router object and routes
    // my custom options code start-here:[
    VertxOptions options = new VertxOptions()
                .setWarningExceptionTime(1500000000)
                .setAddressResolverOptions(new AddressResolverOptions()
                        .addServer("192.168.0.1")
                        .addServer("192.168.2.1")
                        .setMaxQueries(5)
                        .setCacheNegativeTimeToLive(0) // discard failed DNS lookup results immediately
                        .setCacheMaxTimeToLive(0) // support DNS based service resolution
                        .setRotateServers(true)
                        .setQueryTimeout(DEFAULT_ADDRESS_RESOLUTION_TIMEOUT));

    Vertx vertx = Vertx.vertx(options);
    // my custom options code:  end-here:]

    // Create the HTTP server and pass the "accept" method to the request handler.
    vertx
        .createHttpServer()
        .requestHandler(router::accept)
        .listen(

特别是我很怀疑在Vertx vertx = Vertx.vertx(options);中获取vertx是否正确,而gerated代码只是使用引用部署此Verticle的Vert.x实例由抽象基类AbstractVerticle提供。

我的方法安全吗?有禁忌或有破坏性的风险吗?在VertxOptions中设置自定义HttpApplication是否有更好的做法?

0 个答案:

没有答案