From a153e7abbb36594c27d918aa37dbf0fea17df3fe Mon Sep 17 00:00:00 2001 From: Fabian Mastenbroek Date: Fri, 29 Sep 2017 14:03:06 +0200 Subject: Steamline Docker integration This change improves the Docker integration by pre-building the application when building the image to prevent having to build the application at runtime. --- .../src/main/kotlin/nl/atlarge/opendc/platform/JpaExperiment.kt | 1 + .../main/kotlin/nl/atlarge/opendc/platform/JpaPlatformRunner.kt | 8 +++++++- 2 files changed, 8 insertions(+), 1 deletion(-) (limited to 'opendc-integration-jpa') diff --git a/opendc-integration-jpa/src/main/kotlin/nl/atlarge/opendc/platform/JpaExperiment.kt b/opendc-integration-jpa/src/main/kotlin/nl/atlarge/opendc/platform/JpaExperiment.kt index 104011df..f5a86e64 100644 --- a/opendc-integration-jpa/src/main/kotlin/nl/atlarge/opendc/platform/JpaExperiment.kt +++ b/opendc-integration-jpa/src/main/kotlin/nl/atlarge/opendc/platform/JpaExperiment.kt @@ -145,5 +145,6 @@ class JpaExperiment(val manager: EntityManager, } logger.info { "Simulation done" } + manager.close() } } diff --git a/opendc-integration-jpa/src/main/kotlin/nl/atlarge/opendc/platform/JpaPlatformRunner.kt b/opendc-integration-jpa/src/main/kotlin/nl/atlarge/opendc/platform/JpaPlatformRunner.kt index d7282c27..6a1d839d 100644 --- a/opendc-integration-jpa/src/main/kotlin/nl/atlarge/opendc/platform/JpaPlatformRunner.kt +++ b/opendc-integration-jpa/src/main/kotlin/nl/atlarge/opendc/platform/JpaPlatformRunner.kt @@ -38,9 +38,15 @@ val logger = KotlinLogging.logger {} * @param args The command line arguments of the program. */ fun main(args: Array) { + val properties = HashMap() + val env = System.getenv() + properties["javax.persistence.jdbc.url"] = env["PERSISTENCE_URL"] ?: "" + properties["javax.persistence.jdbc.user"] = env["PERSISTENCE_USER"] ?: "" + properties["javax.persistence.jdbc.password"] = env["PERSISTENCE_PASSWORD"] ?: "" + val factory = Persistence.createEntityManagerFactory("opendc-simulator", properties) + val threads = 1 val executorService = Executors.newFixedThreadPool(threads) - val factory = Persistence.createEntityManagerFactory("opendc-simulator") val experiments = JpaExperimentManager(factory) logger.info { "Waiting for enqueued experiments..." } -- cgit v1.2.3