diff --git a/vertx-oracle-client/src/main/java/io/vertx/oracleclient/ServerMode.java b/vertx-oracle-client/src/main/java/io/vertx/oracleclient/ServerMode.java index d0de913e01..a299fca6aa 100644 --- a/vertx-oracle-client/src/main/java/io/vertx/oracleclient/ServerMode.java +++ b/vertx-oracle-client/src/main/java/io/vertx/oracleclient/ServerMode.java @@ -19,7 +19,7 @@ @VertxGen public enum ServerMode { - DEDICATED("dedicated"), SHARED("shared"); + DEDICATED("dedicated"), SHARED("shared"), POOLED("pooled"); private final String mode; @@ -28,7 +28,7 @@ public enum ServerMode { } public static ServerMode of(String mode) { - return DEDICATED.mode.equalsIgnoreCase(mode) ? DEDICATED : SHARED.mode.equalsIgnoreCase(mode) ? SHARED : null; + return DEDICATED.mode.equalsIgnoreCase(mode) ? DEDICATED : SHARED.mode.equalsIgnoreCase(mode) ? SHARED : POOLED.mode.equalsIgnoreCase(mode) ? POOLED : null; } @Override diff --git a/vertx-oracle-client/src/main/java/io/vertx/oracleclient/impl/OracleDatabaseHelper.java b/vertx-oracle-client/src/main/java/io/vertx/oracleclient/impl/OracleDatabaseHelper.java index 516f0d7d2a..9ed12cb3ce 100644 --- a/vertx-oracle-client/src/main/java/io/vertx/oracleclient/impl/OracleDatabaseHelper.java +++ b/vertx-oracle-client/src/main/java/io/vertx/oracleclient/impl/OracleDatabaseHelper.java @@ -76,6 +76,8 @@ private static String composeJdbcUrl(OracleConnectOptions options) { url.append("/").append(encodeUrl(database)); if (options.getServerMode() == ServerMode.SHARED) { url.append(":").append(ServerMode.SHARED); + } else if (options.getServerMode() == ServerMode.POOLED) { + url.append(":").append(ServerMode.POOLED); } } } diff --git a/vertx-oracle-client/src/test/java/tests/oracleclient/impl/ValidOracleConnectionUriParsingTest.java b/vertx-oracle-client/src/test/java/tests/oracleclient/impl/ValidOracleConnectionUriParsingTest.java index b93330424c..32f81e6bec 100644 --- a/vertx-oracle-client/src/test/java/tests/oracleclient/impl/ValidOracleConnectionUriParsingTest.java +++ b/vertx-oracle-client/src/test/java/tests/oracleclient/impl/ValidOracleConnectionUriParsingTest.java @@ -90,6 +90,11 @@ public static Object[][] data() { .put("serviceName", "orcl") .put("host", "::1") .put("serverMode", "dedicated")}, + {"uri with service name and server mode pooled", "oracle:thin:@[::1]/orcl:pooled", + new JsonObject() + .put("serviceName", "orcl") + .put("host", "::1") + .put("serverMode", "pooled")}, {"uri with service name with prop", "oracle:thin:@[::1]:1521/orcl?key=val", new JsonObject() .put("properties", new JsonObject().put("key", "val"))