Java Code Examples for io.vertx.core.VertxOptions#setPreferNativeTransport()

The following examples show how to use io.vertx.core.VertxOptions#setPreferNativeTransport() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: VertxProperties.java    From hono with Eclipse Public License 2.0 6 votes vote down vote up
/**
 * Configures the Vert.x options based on this object's property values.
 *
 * @param options The options to configure.
 * @return The (updated) options.
 */
public VertxOptions configureVertx(final VertxOptions options) {

    options.setPreferNativeTransport(this.preferNative);

    if (this.enableMetrics) {
        options.setMetricsOptions(new MetricsOptions().setEnabled(true));
    }

    options.setMaxEventLoopExecuteTime(maxEventLoopExecuteTimeMillis * 1000000L);
    options.setWarningExceptionTime(maxEventLoopExecuteTimeMillis * 1500000L);
    options.setAddressResolverOptions(new AddressResolverOptions()
            .setCacheNegativeTimeToLive(0) // discard failed DNS lookup results immediately
            .setCacheMaxTimeToLive(0) // support DNS based service resolution
            .setQueryTimeout(dnsQueryTimeout));
    return options;
}
 
Example 2
Source File: PgPool.java    From vertx-sql-client with Apache License 2.0 5 votes vote down vote up
/**
 * Create a connection pool to the database configured with the given {@code connectOptions} and {@code poolOptions}.
 *
 * @param poolOptions the options for creating the pool
 * @return the connection pool
 */
static PgPool pool(PgConnectOptions connectOptions, PoolOptions poolOptions) {
  if (Vertx.currentContext() != null) {
    throw new IllegalStateException("Running in a Vertx context => use PgPool#pool(Vertx, PgConnectOptions, PoolOptions) instead");
  }
  VertxOptions vertxOptions = new VertxOptions();
  if (connectOptions.isUsingDomainSocket()) {
    vertxOptions.setPreferNativeTransport(true);
  }
  VertxInternal vertx = (VertxInternal) Vertx.vertx(vertxOptions);
  return PgPoolImpl.create(vertx.getOrCreateContext(), true, connectOptions, poolOptions);
}
 
Example 3
Source File: DockerTest.java    From okapi with Apache License 2.0 5 votes vote down vote up
@Before
public void setUp(TestContext context) {
  Async async = context.async();
  VertxOptions options = new VertxOptions();
  options.setBlockedThreadCheckInterval(60000); // in ms
  options.setWarningExceptionTime(60000); // in ms
  options.setPreferNativeTransport(true);
  vertx = Vertx.vertx(options);
  RestAssured.port = port;
  client = vertx.createHttpClient();

  checkDocker(res -> {
    haveDocker = res.succeeded();
    if (res.succeeded()) {
      dockerImages = res.result();
      logger.info("Docker found");
    } else {
      logger.warn("No docker: " + res.cause().getMessage());
    }
    DeploymentOptions opt = new DeploymentOptions()
      .setConfig(new JsonObject()
        .put("containerHost", "localhost")
        .put("port", Integer.toString(port))
        .put("port_start", Integer.toString(port + 4))
        .put("port_end", Integer.toString(port + 6)));

    vertx.deployVerticle(MainVerticle.class.getName(),
      opt, x -> async.complete());
  });
}
 
Example 4
Source File: DockerModuleHandleTest.java    From okapi with Apache License 2.0 5 votes vote down vote up
@Test
public void testDockerVersionAtLocal(TestContext context) {
  VertxOptions options = new VertxOptions();
  options.setPreferNativeTransport(true);
  Vertx vertx = Vertx.vertx(options);
  LaunchDescriptor ld = new LaunchDescriptor();
  Ports ports = new Ports(9232, 9233);

  DockerModuleHandle dh = new DockerModuleHandle(vertx, ld,
    "mod-users-5.0.0-SNAPSHOT", ports, "localhost", 9232, new JsonObject());

  JsonObject versionRes = new JsonObject();
  Async async = context.async();
  dh.getUrl("/version", res -> {
    if (res.succeeded()) {
      versionRes.put("result", res.result());
    }
    async.complete();
  });
  async.await(1000);
  Assume.assumeTrue(versionRes.containsKey("result"));
  context.assertTrue(versionRes.getJsonObject("result").containsKey("Version"));

  // provoke 404 not found
  dh.deleteUrl("/version", "msg", context.asyncAssertFailure(cause -> {
    context.assertTrue(cause.getMessage().startsWith("msg HTTP error 404"),
      cause.getMessage());
    // provoke 404 not found
    dh.postUrlJson("/version", "msg", "{}", context.asyncAssertFailure(cause2 -> {
      context.assertTrue(cause2.getMessage().startsWith("msg HTTP error 404"),
        cause2.getMessage());
    }));
  }));
}
 
Example 5
Source File: VertxProperties.java    From vertx-spring-boot with Apache License 2.0 4 votes vote down vote up
public VertxOptions toVertxOptions() {
    VertxOptions vertxOptions = new VertxOptions();
    vertxOptions.setEventLoopPoolSize(eventLoopPoolSize);
    vertxOptions.setWorkerPoolSize(workerPoolSize);
    vertxOptions.setInternalBlockingPoolSize(internalBlockingPoolSize);
    vertxOptions.setBlockedThreadCheckInterval(blockedThreadCheckInterval);
    vertxOptions.setMaxEventLoopExecuteTime(maxEventLoopExecuteTime);
    vertxOptions.setMaxWorkerExecuteTime(maxWorkerExecuteTime);
    vertxOptions.setHAEnabled(haEnabled);
    vertxOptions.setQuorumSize(quorumSize);
    vertxOptions.setHAGroup(haGroup);
    vertxOptions.setWarningExceptionTime(warningExceptionTime);
    vertxOptions.setPreferNativeTransport(preferNativeTransport);
    vertxOptions.setMaxEventLoopExecuteTimeUnit(maxEventLoopExecuteTimeUnit);
    vertxOptions.setMaxWorkerExecuteTimeUnit(maxWorkerExecuteTimeUnit);
    vertxOptions.setWarningExceptionTimeUnit(warningExceptionTimeUnit);
    vertxOptions.setBlockedThreadCheckIntervalUnit(blockedThreadCheckIntervalUnit);

    MetricsOptions metricsOptions = new MetricsOptions();
    metricsOptions.setEnabled(metricsEnabled);
    vertxOptions.setMetricsOptions(metricsOptions);

    FileSystemOptions fileSystemOptions = new FileSystemOptions();
    fileSystemOptions.setClassPathResolvingEnabled(fileSystem.isClassPathResolvingEnabled());
    fileSystemOptions.setFileCachingEnabled(fileSystem.isFileCachingEnabled());
    vertxOptions.setFileSystemOptions(fileSystemOptions);

    AddressResolverOptions addressResolverOptions = new AddressResolverOptions();
    addressResolverOptions.setHostsPath(addressResolver.getHostsPath());
    addressResolverOptions.setHostsValue(addressResolver.getHostsValue());
    addressResolverOptions.setServers(addressResolver.getServers());
    addressResolverOptions.setOptResourceEnabled(addressResolver.isOptResourceEnabled());
    addressResolverOptions.setCacheMinTimeToLive(addressResolver.getCacheMinTimeToLive());
    addressResolverOptions.setCacheMaxTimeToLive(addressResolver.getCacheMaxTimeToLive());
    addressResolverOptions.setCacheNegativeTimeToLive(addressResolver.getCacheNegativeTimeToLive());
    addressResolverOptions.setQueryTimeout(addressResolver.getQueryTimeout());
    addressResolverOptions.setMaxQueries(addressResolver.getMaxQueries());
    addressResolverOptions.setRdFlag(addressResolver.isRdFlag());
    addressResolverOptions.setSearchDomains(addressResolver.getSearchDomains());
    addressResolverOptions.setNdots(addressResolver.getNdots());
    addressResolverOptions.setRotateServers(addressResolver.isRotateServers());
    vertxOptions.setAddressResolverOptions(addressResolverOptions);

    return vertxOptions;
}
 
Example 6
Source File: Main.java    From quarantyne with Apache License 2.0 4 votes vote down vote up
public static void main(String...args) {
  InternalLoggerFactory.setDefaultFactory(Slf4JLoggerFactory.INSTANCE);

  ConfigArgs configArgs = ConfigArgs.parse(args);

  // load assets or die
  try {
    weakOrBreachedPwBf = BloomFilters.deserialize(AssetRegistry.getCompromisedPasswords());
    disposableMxBf = BloomFilters.deserialize(AssetRegistry.getDisposableEmails());
    awsIpMembership = new CidrMembership<>(AssetRegistry.getAwsIps(), "aws");
    gcpIpMembership = new CidrMembership<>(AssetRegistry.getGcpIps(), "gcp");
  } catch (AssetException ex) {
    log.error("error while reading asset", ex);
    System.exit(-1);
  }

  final GeoIp4j geoIp4j = new GeoIp4jImpl();

  log.info("{} <= quarantyne => {}", configArgs.getIngress().toHuman(), configArgs.getEgress().toHuman());

  configArgs.getAdminIpPort().ifPresent(ipPort -> {
    log.info("==> admin @ http://{}:{}", ipPort.getIp(), ipPort.getPort());
  });

  log.info("see available options with --help");
  int numCpus = CpuCoreSensor.availableProcessors();

  VertxOptions vertxOptions = new VertxOptions();
  vertxOptions.setPreferNativeTransport(true);
  vertxOptions.setMetricsOptions(
      new DropwizardMetricsOptions().setEnabled(true)
  );

  log.debug("==> event loop size is {}", vertxOptions.getEventLoopPoolSize());
  log.debug("==> detected {} cpus core", numCpus);
  Vertx vertx = Vertx.vertx(vertxOptions);

  ConfigSupplier configSupplier;
  if (configArgs.getConfigFile().isPresent()) {
    configSupplier = new ConfigSupplier(vertx,
        new ConfigRetrieverOptionsSupplier(configArgs.getConfigFile().get()));
  } else {
    log.info("No configuration file was specified, using default settings");
    configSupplier = new ConfigSupplier();
  }

  // quarantyne classifiers
  List<HttpRequestClassifier> httpRequestClassifierList = Lists.newArrayList(
      new FastAgentClassifier(),
      new IpRotationClassifier(),
      new SuspiciousRequestHeadersClassifier(),
      new SuspiciousUserAgentClassifier(),
      new LargeBodySizeClassifier(),
      new CompromisedPasswordClassifier(weakOrBreachedPwBf, configSupplier),
      new DisposableEmailClassifier(disposableMxBf, configSupplier),
      new GeoDiscrepancyClassifier(geoIp4j, configSupplier),
      new PublicCloudExecutionClassifier(awsIpMembership, gcpIpMembership)
      // new SuspiciousLoginActivityClassifier(geoIp4j)
  );

  MainClassifier mainClassifier = new MainClassifier(httpRequestClassifierList);

  if (configArgs.getAdminIpPort().isPresent()) {
    vertx.deployVerticle(new AdminVerticle(configArgs.getAdminIpPort().get()));
  }

  vertx.deployVerticle(() -> new ProxyVerticle(configArgs, mainClassifier,
          configSupplier),
      new DeploymentOptions().setInstances(numCpus * 2 + 1));

  vertx.deployVerticle(() -> new WarmupVerticle(configArgs),
      new DeploymentOptions(),
      warmupVerticle -> {
        vertx.undeploy(warmupVerticle.result());
      });

  vertx.exceptionHandler(ex -> {
    log.error("uncaught exception", ex);
  });
}
 
Example 7
Source File: VertxCoreRecorder.java    From quarkus with Apache License 2.0 4 votes vote down vote up
private static VertxOptions convertToVertxOptions(VertxConfiguration conf, VertxOptions options, boolean allowClustering) {

        if (!conf.useAsyncDNS) {
            System.setProperty(ResolverProvider.DISABLE_DNS_RESOLVER_PROP_NAME, "true");
        }

        if (allowClustering) {
            // Order matters, as the cluster options modifies the event bus options.
            setEventBusOptions(conf, options);
            initializeClusterOptions(conf, options);
        }

        String fileCacheDir = System.getProperty(CACHE_DIR_BASE_PROP_NAME,
                System.getProperty("java.io.tmpdir", ".") + File.separator + "vertx-cache");

        options.setFileSystemOptions(new FileSystemOptions()
                .setFileCachingEnabled(conf.caching)
                .setFileCacheDir(fileCacheDir)
                .setClassPathResolvingEnabled(conf.classpathResolving));
        options.setWorkerPoolSize(conf.workerPoolSize);
        options.setInternalBlockingPoolSize(conf.internalBlockingPoolSize);

        options.setBlockedThreadCheckInterval(conf.warningExceptionTime.toMillis());
        if (conf.eventLoopsPoolSize.isPresent()) {
            options.setEventLoopPoolSize(conf.eventLoopsPoolSize.getAsInt());
        } else {
            options.setEventLoopPoolSize(calculateDefaultIOThreads());
        }

        Optional<Duration> maxEventLoopExecuteTime = conf.maxEventLoopExecuteTime;
        if (maxEventLoopExecuteTime.isPresent()) {
            options.setMaxEventLoopExecuteTime(maxEventLoopExecuteTime.get().toMillis());
            options.setMaxEventLoopExecuteTimeUnit(TimeUnit.MILLISECONDS);
        }

        Optional<Duration> maxWorkerExecuteTime = conf.maxWorkerExecuteTime;
        if (maxWorkerExecuteTime.isPresent()) {
            options.setMaxWorkerExecuteTime(maxWorkerExecuteTime.get().toMillis());
            options.setMaxWorkerExecuteTimeUnit(TimeUnit.MILLISECONDS);
        }

        options.setWarningExceptionTime(conf.warningExceptionTime.toNanos());

        options.setPreferNativeTransport(conf.preferNativeTransport);

        return options;
    }
 
Example 8
Source File: VxApiLauncher.java    From VX-API-Gateway with MIT License 4 votes vote down vote up
/**
 * 初始化vert.x的配置文件<br>
 * This method copy from the {@link io.vertx.core.VertxOptionsConverter}
 * fromJson
 * 
 * @param json
 * @param obj
 */
public void initVertxConfig(JsonObject json, VertxOptions obj) {

	if (json.getValue("addressResolverOptions") instanceof JsonObject) {
		obj.setAddressResolverOptions(new io.vertx.core.dns.AddressResolverOptions((JsonObject) json.getValue("addressResolverOptions")));
	}
	if (json.getValue("blockedThreadCheckInterval") instanceof Number) {
		obj.setBlockedThreadCheckInterval(((Number) json.getValue("blockedThreadCheckInterval")).longValue());
	}
	if (json.getValue("clusterHost") instanceof String) {
		obj.setClusterHost((String) json.getValue("clusterHost"));
	}
	if (json.getValue("clusterPingInterval") instanceof Number) {
		obj.setClusterPingInterval(((Number) json.getValue("clusterPingInterval")).longValue());
	}
	if (json.getValue("clusterPingReplyInterval") instanceof Number) {
		obj.setClusterPingReplyInterval(((Number) json.getValue("clusterPingReplyInterval")).longValue());
	}
	if (json.getValue("clusterPort") instanceof Number) {
		obj.setClusterPort(((Number) json.getValue("clusterPort")).intValue());
	}
	if (json.getValue("clusterPublicHost") instanceof String) {
		obj.setClusterPublicHost((String) json.getValue("clusterPublicHost"));
	}
	if (json.getValue("clusterPublicPort") instanceof Number) {
		obj.setClusterPublicPort(((Number) json.getValue("clusterPublicPort")).intValue());
	}
	if (json.getValue("clustered") instanceof Boolean) {
		obj.setClustered((Boolean) json.getValue("clustered"));
	}
	if (json.getValue("eventBusOptions") instanceof JsonObject) {
		obj.setEventBusOptions(new io.vertx.core.eventbus.EventBusOptions((JsonObject) json.getValue("eventBusOptions")));
	}
	if (json.getValue("eventLoopPoolSize") instanceof Number) {
		obj.setEventLoopPoolSize(((Number) json.getValue("eventLoopPoolSize")).intValue());
	}
	if (json.getValue("fileResolverCachingEnabled") instanceof Boolean) {
		obj.setFileResolverCachingEnabled((Boolean) json.getValue("fileResolverCachingEnabled"));
	}
	if (json.getValue("haEnabled") instanceof Boolean) {
		obj.setHAEnabled((Boolean) json.getValue("haEnabled"));
	}
	if (json.getValue("haGroup") instanceof String) {
		obj.setHAGroup((String) json.getValue("haGroup"));
	}
	if (json.getValue("internalBlockingPoolSize") instanceof Number) {
		obj.setInternalBlockingPoolSize(((Number) json.getValue("internalBlockingPoolSize")).intValue());
	}
	if (json.getValue("maxEventLoopExecuteTime") instanceof Number) {
		obj.setMaxEventLoopExecuteTime(((Number) json.getValue("maxEventLoopExecuteTime")).longValue());
	}
	if (json.getValue("maxWorkerExecuteTime") instanceof Number) {
		obj.setMaxWorkerExecuteTime(((Number) json.getValue("maxWorkerExecuteTime")).longValue());
	}
	if (json.getValue("metricsOptions") instanceof JsonObject) {
		obj.setMetricsOptions(new io.vertx.core.metrics.MetricsOptions((JsonObject) json.getValue("metricsOptions")));
	}
	if (json.getValue("preferNativeTransport") instanceof Boolean) {
		obj.setPreferNativeTransport((Boolean) json.getValue("preferNativeTransport"));
	}
	if (json.getValue("quorumSize") instanceof Number) {
		obj.setQuorumSize(((Number) json.getValue("quorumSize")).intValue());
	}
	if (json.getValue("warningExceptionTime") instanceof Number) {
		obj.setWarningExceptionTime(((Number) json.getValue("warningExceptionTime")).longValue());
	}
	if (json.getValue("workerPoolSize") instanceof Number) {
		obj.setWorkerPoolSize(((Number) json.getValue("workerPoolSize")).intValue());
	}

}
 
Example 9
Source File: RxVertxTestBase.java    From graviteeio-access-management with Apache License 2.0 4 votes vote down vote up
protected VertxOptions getOptions() {
    VertxOptions options = new VertxOptions();
    options.setPreferNativeTransport(USE_NATIVE_TRANSPORT);
    return options;
}