diff --git a/spring-cloud-launcher/spring-cloud-launcher-deployer/src/main/java/org/springframework/cloud/launcher/deployer/DeployerProperties.java b/spring-cloud-launcher/spring-cloud-launcher-deployer/src/main/java/org/springframework/cloud/launcher/deployer/DeployerProperties.java index 3dfb4ca..8bf5fa2 100644 --- a/spring-cloud-launcher/spring-cloud-launcher-deployer/src/main/java/org/springframework/cloud/launcher/deployer/DeployerProperties.java +++ b/spring-cloud-launcher/spring-cloud-launcher-deployer/src/main/java/org/springframework/cloud/launcher/deployer/DeployerProperties.java @@ -138,8 +138,9 @@ public class DeployerProperties { */ private String message; /** - * A map of "negative" properties that apply to all apps when this one is disabled. - * E.g. when eureka is disabled you might want "eureka.client.enabled=false". + * A map of "negative" properties that apply to all apps when this one is + * disabled. E.g. when eureka is disabled you might want + * "eureka.client.enabled=false". */ private Map disabled = new LinkedHashMap<>(); /** @@ -148,10 +149,11 @@ public class DeployerProperties { */ private Map enabled = new LinkedHashMap<>(); /** - * A list of java options to pass to the jvm command (e.g. java). - * E.g. -Dmy.prop=myval + * A map of "deployment" properties passed to the deployer (not the app) when this + * app is launched. You can use JAVA_OPTS here to pass JVM args to a local deployer. */ - private List javaOptions = new ArrayList<>(); + // TODO: update javadocs when JAVA_OPTS are passed as javaOpts or whatever it is) + private Map properties = new LinkedHashMap<>(); public String getCoordinates() { return this.coordinates; @@ -210,14 +212,6 @@ public class DeployerProperties { return disabled; } - public List getJavaOptions() { - return javaOptions; - } - - public void setJavaOptions(List javaOptions) { - this.javaOptions = javaOptions; - } - public Map getEnabled() { return enabled; } @@ -226,6 +220,14 @@ public class DeployerProperties { this.enabled = enabled; } + public Map getProperties() { + return properties; + } + + public void setProperties(Map properties) { + this.properties = properties; + } + @Override public String toString() { final StringBuffer sb = new StringBuffer("Deployable{"); @@ -236,7 +238,7 @@ public class DeployerProperties { sb.append(", order=").append(this.order); sb.append(", disabled=").append(this.disabled); sb.append(", enabled=").append(this.disabled); - sb.append(", javaOptions=").append(this.javaOptions); + sb.append(", properties=").append(this.properties); sb.append(", message=").append(this.message); sb.append('}'); return sb.toString(); diff --git a/spring-cloud-launcher/spring-cloud-launcher-deployer/src/main/java/org/springframework/cloud/launcher/deployer/DeployerThread.java b/spring-cloud-launcher/spring-cloud-launcher-deployer/src/main/java/org/springframework/cloud/launcher/deployer/DeployerThread.java index 323c8cc..e1f738a 100644 --- a/spring-cloud-launcher/spring-cloud-launcher-deployer/src/main/java/org/springframework/cloud/launcher/deployer/DeployerThread.java +++ b/spring-cloud-launcher/spring-cloud-launcher-deployer/src/main/java/org/springframework/cloud/launcher/deployer/DeployerThread.java @@ -16,17 +16,6 @@ package org.springframework.cloud.launcher.deployer; -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.HashMap; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; -import java.util.concurrent.ConcurrentHashMap; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.boot.Banner.Mode; @@ -54,6 +43,17 @@ import org.springframework.core.io.ResourceLoader; import org.springframework.util.ClassUtils; import org.springframework.util.StringUtils; +import java.io.File; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; + import static org.springframework.util.StringUtils.collectionToCommaDelimitedString; /** @@ -318,10 +318,7 @@ public class DeployerThread extends Thread { Map deploymentProperties = new LinkedHashMap<>(); deploymentProperties.put(AppDeployer.GROUP_PROPERTY_KEY, "launcher"); - - if (deployable.getJavaOptions() != null && !deployable.getJavaOptions().isEmpty()) { - deploymentProperties.put("JAVA_OPTS", collectionToCommaDelimitedString(deployable.getJavaOptions())); - } + deploymentProperties.putAll(deployable.getProperties()); AppDeploymentRequest request = new AppDeploymentRequest(definition, resource, deploymentProperties); diff --git a/spring-cloud-launcher/spring-cloud-launcher-deployer/src/test/resources/cloud-test.yml b/spring-cloud-launcher/spring-cloud-launcher-deployer/src/test/resources/cloud-test.yml index 7c68477..b9e8946 100644 --- a/spring-cloud-launcher/spring-cloud-launcher-deployer/src/test/resources/cloud-test.yml +++ b/spring-cloud-launcher/spring-cloud-launcher-deployer/src/test/resources/cloud-test.yml @@ -7,3 +7,5 @@ spring: port: 8000 waitUntilStarted: true order: -200 + properties: + JAVA_OPTS: -Xmx64m