From a374929c90fe72a3861a9e0c1607d185988499cb Mon Sep 17 00:00:00 2001 From: Phillip Webb Date: Sun, 15 Jun 2014 09:09:06 -0700 Subject: [PATCH] Polish --- .../jmx/JmxAutoConfiguration.java | 28 ++++++++++--------- .../boot/cli/command/CommandRunner.java | 7 +++-- .../boot/cli/command/status/ExitStatus.java | 6 ++-- .../src/main/asciidoc/spring-boot-cli.adoc | 19 ++++++------- 4 files changed, 30 insertions(+), 30 deletions(-) diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jmx/JmxAutoConfiguration.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jmx/JmxAutoConfiguration.java index 8cd9495d967..98cf50b83dc 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jmx/JmxAutoConfiguration.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jmx/JmxAutoConfiguration.java @@ -20,6 +20,7 @@ import javax.management.MBeanServer; import org.springframework.beans.factory.BeanFactory; import org.springframework.beans.factory.FactoryBean; +import org.springframework.beans.factory.InitializingBean; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; @@ -87,7 +88,15 @@ public class JmxAutoConfiguration { @Bean @ConditionalOnMissingBean(MBeanServer.class) public MBeanServer mbeanServer() { - return SpecificPlatform.get().getMBeanServer(); + SpecificPlatform platform = SpecificPlatform.get(); + if (platform != null) { + return platform.getMBeanServer(); + } + MBeanServerFactoryBean factory = new MBeanServerFactoryBean(); + factory.setLocateExistingServerIfPossible(true); + factory.afterPropertiesSet(); + return factory.getObject(); + } @EnableMBeanExport(defaultDomain = "${spring.jmx.default_domain:}", server = "${spring.jmx.server:mbeanServer}") @@ -112,16 +121,6 @@ public class JmxAutoConfiguration { public FactoryBean getMBeanServerFactory() { return new WebSphereMBeanServerFactoryBean(); } - }, - - GENERIC("org.springframework.jmx.support.MBeanServerFactoryBean") { - @Override - public FactoryBean getMBeanServerFactory() { - MBeanServerFactoryBean factory = new MBeanServerFactoryBean(); - factory.setLocateExistingServerIfPossible(true); - factory.afterPropertiesSet(); - return factory; - } }; private final String identifyingClass; @@ -131,9 +130,12 @@ public class JmxAutoConfiguration { } public MBeanServer getMBeanServer() { - Object server; try { - server = getMBeanServerFactory().getObject(); + FactoryBean factory = getMBeanServerFactory(); + if (factory instanceof InitializingBean) { + ((InitializingBean) factory).afterPropertiesSet(); + } + Object server = factory.getObject(); Assert.isInstanceOf(MBeanServer.class, server); return (MBeanServer) server; } diff --git a/spring-boot-cli/src/main/java/org/springframework/boot/cli/command/CommandRunner.java b/spring-boot-cli/src/main/java/org/springframework/boot/cli/command/CommandRunner.java index 8f78eb20ba0..d2d73d310b7 100644 --- a/spring-boot-cli/src/main/java/org/springframework/boot/cli/command/CommandRunner.java +++ b/spring-boot-cli/src/main/java/org/springframework/boot/cli/command/CommandRunner.java @@ -169,9 +169,10 @@ public class CommandRunner implements Iterable { try { ExitStatus result = run(argsWithoutDebugFlags); // The caller will hang up if it gets a non-zero status - return result == null ? 0 - : result.isHangup() ? (result.getCode() > 0 ? result.getCode() : 0) - : 0; + if (result != null && result.isHangup()) { + return (result.getCode() > 0 ? result.getCode() : 0); + } + return 0; } catch (NoArgumentsException ex) { showUsage(); diff --git a/spring-boot-cli/src/main/java/org/springframework/boot/cli/command/status/ExitStatus.java b/spring-boot-cli/src/main/java/org/springframework/boot/cli/command/status/ExitStatus.java index 03a6ff52389..5a9733821b4 100644 --- a/spring-boot-cli/src/main/java/org/springframework/boot/cli/command/status/ExitStatus.java +++ b/spring-boot-cli/src/main/java/org/springframework/boot/cli/command/status/ExitStatus.java @@ -27,12 +27,12 @@ package org.springframework.boot.cli.command.status; public final class ExitStatus { /** - * Generic "OK" exit status with zero exit code and hangup=fa;se + * Generic "OK" exit status with zero exit code and {@literal hangup=false} */ public static ExitStatus OK = new ExitStatus(0, "OK"); /** - * Generic "not OK" exit status with non-zero exit code and hangup=true + * Generic "not OK" exit status with non-zero exit code and {@literal hangup=true} */ public static ExitStatus ERROR = new ExitStatus(-1, "ERROR", true); @@ -44,7 +44,6 @@ public final class ExitStatus { /** * Create a new ExitStatus with an exit code and name as specified. - * * @param code the exit code * @param name the name */ @@ -90,7 +89,6 @@ public final class ExitStatus { /** * Convert the existing code to a hangup. - * * @return a new ExitStatus with hangup=true */ public ExitStatus hangup() { diff --git a/spring-boot-docs/src/main/asciidoc/spring-boot-cli.adoc b/spring-boot-docs/src/main/asciidoc/spring-boot-cli.adoc index 0837a9ea435..749480ebfdb 100644 --- a/spring-boot-docs/src/main/asciidoc/spring-boot-cli.adoc +++ b/spring-boot-docs/src/main/asciidoc/spring-boot-cli.adoc @@ -265,24 +265,23 @@ executable jar file. For example: $ spring jar my-app.jar *.groovy ---- -The resulting jar will contain the classes produced by compiling the -application and all of the application's dependencies so that it can -then be run using `java -jar`. The jar file will also contain entries -from the application's classpath. You can add explicit paths to the -jar using `--include` and `--exclude` (both are comma separated, and -both accept prefixes to the values "+" and "-" to signify that they -shoudl be removed from the defaults). The default includes are +The resulting jar will contain the classes produced by compiling the application and all +of the application's dependencies so that it can then be run using `java -jar`. The jar +file will also contain entries from the application's classpath. You can add explicit +paths to the jar using `--include` and `--exclude` (both are comma separated, and both +accept prefixes to the values ``+'' and ``-'' to signify that they should be removed from +the defaults). The default includes are [indent=0] ---- -public/**, resources/**, static/**, templates/**, META-INF/**, * + public/**, resources/**, static/**, templates/**, META-INF/**, * ---- -and the default excludes are +and the default excludes are [indent=0] ---- -.*, repository/**, build/**, target/**, **/*.jar, **/*.groovy + .*, repository/**, build/**, target/**, **/*.jar, **/*.groovy ---- See the output of `spring help jar` for more information.