我通过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
是否有更好的做法?