diff --git a/src/main/java/ca/uhn/fhir/jpa/starter/util/EnvironmentHelper.java b/src/main/java/ca/uhn/fhir/jpa/starter/util/EnvironmentHelper.java index e62b089..e22a179 100644 --- a/src/main/java/ca/uhn/fhir/jpa/starter/util/EnvironmentHelper.java +++ b/src/main/java/ca/uhn/fhir/jpa/starter/util/EnvironmentHelper.java @@ -40,6 +40,19 @@ public class EnvironmentHelper { properties.put(strippedKey, entry.getValue().toString()); } + // also check for JPA properties set as environment variables, this is slightly hacky and doesn't cover all + // the naming conventions Springboot allows + // but there doesn't seem to be a better/deterministic way to get these properties when they are set as ENV + // variables and this at least provides + // a way to set them (in a docker container, for instance) + Map jpaPropsEnv = getPropertiesStartingWith(environment, "SPRING_JPA_PROPERTIES"); + for (Map.Entry entry : jpaPropsEnv.entrySet()) { + String strippedKey = entry.getKey().replace("SPRING_JPA_PROPERTIES_", ""); + strippedKey = strippedKey.replaceAll("_", "."); + strippedKey = strippedKey.toLowerCase(); + properties.put(strippedKey, entry.getValue().toString()); + } + // Spring Boot Autoconfiguration defaults properties.putIfAbsent(AvailableSettings.SCANNER, "org.hibernate.boot.archive.scan.internal.DisabledScanner"); properties.putIfAbsent( diff --git a/src/test/smoketest/plain_server.http b/src/test/smoketest/plain_server.http index 572a48f..72b300a 100644 --- a/src/test/smoketest/plain_server.http +++ b/src/test/smoketest/plain_server.http @@ -206,6 +206,7 @@ GET http://{{host}}/fhir/Patient/{{batch_patient_id}}/$everything ### Extended Operations - validate # https://hapifhir.io/hapi-fhir/docs/server_plain/rest_operations_operations.html +# @timeout 180 # wait up to 2 minutes for the validate response POST http://{{host}}/fhir/Patient/{{batch_patient_id}}/$validate > {%