diff --git a/extensions/datasource/deployment/src/main/java/io/quarkus/datasource/deployment/devservices/DevServicesDatasourceProcessor.java b/extensions/datasource/deployment/src/main/java/io/quarkus/datasource/deployment/devservices/DevServicesDatasourceProcessor.java index f8f9b9eaadd5e..005d51faaf774 100644 --- a/extensions/datasource/deployment/src/main/java/io/quarkus/datasource/deployment/devservices/DevServicesDatasourceProcessor.java +++ b/extensions/datasource/deployment/src/main/java/io/quarkus/datasource/deployment/devservices/DevServicesDatasourceProcessor.java @@ -40,7 +40,7 @@ public class DevServicesDatasourceProcessor { static volatile List databases; - static volatile Map cachedProperties; + static volatile Map cachedProperties; static volatile boolean first = true; @@ -62,9 +62,9 @@ DevServicesDatasourceResultBuildItem launchDatabases(CurateOutcomeBuildItem cura if (databases != null) { boolean restartRequired = false; if (!restartRequired) { - for (Map.Entry i : cachedProperties.entrySet()) { - if (!Objects.equals(i.getValue(), - ConfigProvider.getConfig().getOptionalValue(i.getKey(), String.class).orElse(null))) { + for (Map.Entry entry : cachedProperties.entrySet()) { + if (!Objects.equals(entry.getValue().toString(), + ConfigProvider.getConfig().getOptionalValue(entry.getKey(), String.class).orElse(null))) { restartRequired = true; break; } @@ -102,7 +102,7 @@ DevServicesDatasourceResultBuildItem launchDatabases(CurateOutcomeBuildItem cura //to keep things simpler for now we are only going to support this for the default datasource //support for named datasources will come later - Map propertiesMap = new HashMap<>(); + Map propertiesMap = new HashMap<>(); List closeableList = new ArrayList<>(); Map> configHandlersByDbType = configurationHandlerBuildItems .stream() @@ -178,7 +178,7 @@ private DevServicesDatasourceResultBuildItem.DbResult startDevDb(String dbName, boolean hasNamedDatasources, Map devDBProviders, DataSourceBuildTimeConfig dataSourceBuildTimeConfig, Map> configurationHandlerBuildItems, - Map propertiesMap, List closeableList, + Map propertiesMap, List closeableList, LaunchMode launchMode, Optional consoleInstalledBuildItem, LoggingSetupBuildItem loggingSetupBuildItem) { boolean explicitlyDisabled = !(dataSourceBuildTimeConfig.devservices.enabled @@ -262,8 +262,19 @@ private DevServicesDatasourceResultBuildItem.DbResult startDevDb(String dbName, dataSourceBuildTimeConfig.devservices.port, launchMode); closeableList.add(datasource.getCloseTask()); - Map devDebProperties = new HashMap<>(); propertiesMap.put(prefix + "db-kind", dataSourceBuildTimeConfig.dbKind.orElse(null)); + String devServicesPrefix = prefix + "devservices."; + if (dataSourceBuildTimeConfig.devservices.imageName.isPresent()) { + propertiesMap.put(devServicesPrefix + "image-name", dataSourceBuildTimeConfig.devservices.imageName.get()); + } + if (dataSourceBuildTimeConfig.devservices.port.isPresent()) { + propertiesMap.put(devServicesPrefix + "port", dataSourceBuildTimeConfig.devservices.port.getAsInt()); + } + if (!dataSourceBuildTimeConfig.devservices.properties.isEmpty()) { + propertiesMap.put(devServicesPrefix + "port", dataSourceBuildTimeConfig.devservices.properties); + } + + Map devDebProperties = new HashMap<>(); for (DevServicesDatasourceConfigurationHandlerBuildItem devDbConfigurationHandlerBuildItem : configHandlers) { devDebProperties.putAll(devDbConfigurationHandlerBuildItem.getConfigProviderFunction() .apply(dbName, datasource));