Set blocking details when copying JMX resources
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/eca81924 Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/eca81924 Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/eca81924 Branch: refs/heads/master Commit: eca81924f0c11d1082ba6a845d71a5e9ac27c2b6 Parents: 6e1cb1f Author: Sam Corbett <[email protected]> Authored: Fri May 29 14:38:35 2015 +0100 Committer: Sam Corbett <[email protected]> Committed: Fri May 29 14:45:04 2015 +0100 ---------------------------------------------------------------------- .../main/java/brooklyn/entity/java/JmxSupport.java | 10 ++++++++-- .../java/brooklyn/entity/java/JmxmpSslSupport.java | 15 ++++++++++----- 2 files changed, 18 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/eca81924/software/base/src/main/java/brooklyn/entity/java/JmxSupport.java ---------------------------------------------------------------------- diff --git a/software/base/src/main/java/brooklyn/entity/java/JmxSupport.java b/software/base/src/main/java/brooklyn/entity/java/JmxSupport.java index 2930f40..a6133a9 100644 --- a/software/base/src/main/java/brooklyn/entity/java/JmxSupport.java +++ b/software/base/src/main/java/brooklyn/entity/java/JmxSupport.java @@ -46,6 +46,7 @@ import brooklyn.util.jmx.jmxrmi.JmxRmiAgent; import brooklyn.util.maven.MavenArtifact; import brooklyn.util.maven.MavenRetriever; import brooklyn.util.net.Urls; +import brooklyn.util.task.Tasks; import brooklyn.util.text.Strings; import com.google.common.base.Preconditions; @@ -320,8 +321,13 @@ public class JmxSupport implements UsesJmx { /** installs files needed for JMX, to the runDir given in constructor, assuming the runDir has been created */ public void install() { if (EnumSet.of(JmxAgentModes.JMXMP_AND_RMI, JmxAgentModes.JMXMP, JmxAgentModes.JMX_RMI_CUSTOM_AGENT).contains(getJmxAgentMode())) { - getMachine().get().copyTo(ResourceUtils.create(this).getResourceFromUrl( - getJmxAgentJarUrl()), getJmxAgentJarDestinationFilePath()); + Tasks.setBlockingDetails("Copying JMX agent jar to server."); + try { + getMachine().get().copyTo(ResourceUtils.create(this).getResourceFromUrl( + getJmxAgentJarUrl()), getJmxAgentJarDestinationFilePath()); + } finally { + Tasks.resetBlockingDetails(); + } } if (isSecure()) { getJmxSslSupport().install(); http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/eca81924/software/base/src/main/java/brooklyn/entity/java/JmxmpSslSupport.java ---------------------------------------------------------------------- diff --git a/software/base/src/main/java/brooklyn/entity/java/JmxmpSslSupport.java b/software/base/src/main/java/brooklyn/entity/java/JmxmpSslSupport.java index b652abb..4a4faf8 100644 --- a/software/base/src/main/java/brooklyn/entity/java/JmxmpSslSupport.java +++ b/software/base/src/main/java/brooklyn/entity/java/JmxmpSslSupport.java @@ -32,6 +32,7 @@ import brooklyn.util.crypto.SecureKeys; import brooklyn.util.exceptions.Exceptions; import brooklyn.util.jmx.jmxmp.JmxmpAgent; import brooklyn.util.net.Urls; +import brooklyn.util.task.Tasks; import com.google.common.base.Preconditions; @@ -96,11 +97,15 @@ public class JmxmpSslSupport { ByteArrayOutputStream agentTrustStoreBytes = new ByteArrayOutputStream(); agentTrustStore.store(agentTrustStoreBytes, "".toCharArray()); - // install the truststore and keystore - jmxSupport.getMachine().get().copyTo(new ByteArrayInputStream(agentKeyStoreBytes.toByteArray()), getJmxSslKeyStoreFilePath()); - jmxSupport.getMachine().get().copyTo(new ByteArrayInputStream(agentTrustStoreBytes.toByteArray()), getJmxSslTrustStoreFilePath()); - - // and rely on JmxSupport to install the agent + // install the truststore and keystore and rely on JmxSupport to install the agent + Tasks.setBlockingDetails("Copying keystore and truststore to the server."); + try { + jmxSupport.getMachine().get().copyTo(new ByteArrayInputStream(agentKeyStoreBytes.toByteArray()), getJmxSslKeyStoreFilePath()); + jmxSupport.getMachine().get().copyTo(new ByteArrayInputStream(agentTrustStoreBytes.toByteArray()), getJmxSslTrustStoreFilePath()); + } finally { + Tasks.resetBlockingDetails(); + } + } catch (Exception e) { throw Exceptions.propagate(e); }
