public static Configuration createConfiguration(final String host, final int port, final Optional<String> database, final String userName, final Optional<String> password, final long connectTimeoutMilliSeconds, final long queryTimeoutMilliSeconds) { final Optional<Duration> queryTimeout = queryTimeoutMilliSeconds == -1 ? Optional.empty() : Optional.of(Duration.ofMillis(queryTimeoutMilliSeconds)); return new Configuration(userName, host, port, password.orElse(null), database.orElse(null), new SSLConfiguration(), CharsetUtil.UTF_8, MAXIMUM_MESSAGE_SIZE, PooledByteBufAllocator.DEFAULT, Duration.ofMillis(connectTimeoutMilliSeconds), Duration.ofSeconds(4), queryTimeout.orElse(null)); }