Support r2dbc
Adds r2dbc properties for mysql, postgres, sqlserver, oracle, and db2 bindings. This allow bindings to be used with reactive drivers. Signed-off-by: Emily Casey <ecasey@pivotal.io>
This commit is contained in:
@@ -45,12 +45,19 @@ public final class Db2BindingsPropertiesProcessor implements BindingsPropertiesP
|
||||
bindings.filterBindings(KIND).forEach(binding -> {
|
||||
MapMapper map = new MapMapper(binding.getSecret(), properties);
|
||||
|
||||
//jdbc properties
|
||||
map.from("password").to("spring.datasource.password");
|
||||
map.from("host", "port", "database").to("spring.datasource.url",
|
||||
(host, port, database) -> String.format("jdbc:db2://%s:%s/%s", host, port, database));
|
||||
map.from("username").to("spring.datasource.username");
|
||||
|
||||
properties.put("spring.datasource.driver-class-name", "com.ibm.db2.jcc.DB2Driver");
|
||||
|
||||
//r2dbc properties
|
||||
map.from("password").to("spring.r2dbc.password");
|
||||
map.from("host", "port", "database").to("spring.r2dbc.url",
|
||||
(host, port, database) -> String.format("r2dbc:db2://%s:%s/%s", host, port, database));
|
||||
map.from("username").to("spring.r2dbc.username");
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -45,14 +45,12 @@ public final class MySqlBindingsPropertiesProcessor implements BindingsPropertie
|
||||
bindings.filterBindings(KIND).forEach(binding -> {
|
||||
MapMapper map = new MapMapper(binding.getSecret(), properties);
|
||||
|
||||
//jdbc properties
|
||||
map.from("password").to("spring.datasource.password");
|
||||
map.from("host", "port", "database").to("spring.datasource.url",
|
||||
(host, port, database) -> String.format("jdbc:mysql://%s:%s/%s", host, port, database));
|
||||
map.from("username").to("spring.datasource.username");
|
||||
|
||||
|
||||
Map<String, String> secret = binding.getSecret();
|
||||
|
||||
try {
|
||||
Class.forName("org.mariadb.jdbc.Driver", false, getClass().getClassLoader());
|
||||
properties.put("spring.datasource.driver-class-name", "org.mariadb.jdbc.Driver");
|
||||
@@ -63,6 +61,12 @@ public final class MySqlBindingsPropertiesProcessor implements BindingsPropertie
|
||||
} catch (ClassNotFoundException ignored) {
|
||||
}
|
||||
}
|
||||
|
||||
//r2dbc properties
|
||||
map.from("password").to("spring.r2dbc.password");
|
||||
map.from("host", "port", "database").to("spring.r2dbc.url",
|
||||
(host, port, database) -> String.format("r2dbc:mysql://%s:%s/%s", host, port, database));
|
||||
map.from("username").to("spring.r2dbc.username");
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -45,12 +45,19 @@ public final class OracleBindingsPropertiesProcessor implements BindingsProperti
|
||||
bindings.filterBindings(KIND).forEach(binding -> {
|
||||
MapMapper map = new MapMapper(binding.getSecret(), properties);
|
||||
|
||||
//jdbc properties
|
||||
map.from("password").to("spring.datasource.password");
|
||||
map.from("host", "port", "database").to("spring.datasource.url",
|
||||
(host, port, database) -> String.format("jdbc:oracle://%s:%s/%s", host, port, database));
|
||||
map.from("username").to("spring.datasource.username");
|
||||
|
||||
properties.put("spring.datasource.driver-class-name", "oracle.jdbc.OracleDriver");
|
||||
|
||||
//r2dbc properties
|
||||
map.from("password").to("spring.r2dbc.password");
|
||||
map.from("host", "port", "database").to("spring.r2dbc.url",
|
||||
(host, port, database) -> String.format("r2dbc:oracle://%s:%s/%s", host, port, database));
|
||||
map.from("username").to("spring.r2dbc.username");
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -45,12 +45,19 @@ public final class PostgreSqlBindingsPropertiesProcessor implements BindingsProp
|
||||
bindings.filterBindings(KIND).forEach(binding -> {
|
||||
MapMapper map = new MapMapper(binding.getSecret(), properties);
|
||||
|
||||
//jdbc properties
|
||||
map.from("password").to("spring.datasource.password");
|
||||
map.from("host", "port", "database").to("spring.datasource.url",
|
||||
(host, port, database) -> String.format("jdbc:postgres://%s:%s/%s", host, port, database));
|
||||
map.from("username").to("spring.datasource.username");
|
||||
|
||||
properties.put("spring.datasource.driver-class-name", "org.postgresql.Driver");
|
||||
|
||||
//r2dbc properties
|
||||
map.from("password").to("spring.r2dbc.password");
|
||||
map.from("host", "port", "database").to("spring.r2dbc.url",
|
||||
(host, port, database) -> String.format("r2dbc:postgres://%s:%s/%s", host, port, database));
|
||||
map.from("username").to("spring.r2dbc.username");
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -45,12 +45,19 @@ public final class SqlServerBindingsPropertiesProcessor implements BindingsPrope
|
||||
bindings.filterBindings(KIND).forEach(binding -> {
|
||||
MapMapper map = new MapMapper(binding.getSecret(), properties);
|
||||
|
||||
//jdbc properties
|
||||
map.from("password").to("spring.datasource.password");
|
||||
map.from("host", "port", "database").to("spring.datasource.url",
|
||||
(host, port, database) -> String.format("jdbc:sqlserver://%s:%s/%s", host, port, database));
|
||||
map.from("username").to("spring.datasource.username");
|
||||
|
||||
properties.put("spring.datasource.driver-class-name", "com.microsoft.sqlserver.jdbc.SQLServerDriver");
|
||||
|
||||
//r2dbc properties
|
||||
map.from("password").to("spring.r2dbc.password");
|
||||
map.from("host", "port", "database").to("spring.r2dbc.url",
|
||||
(host, port, database) -> String.format("r2dbc:sqlserver://%s:%s/%s", host, port, database));
|
||||
map.from("username").to("spring.r2dbc.username");
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user