You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by sj...@apache.org on 2015/05/29 16:53:57 UTC

[8/9] incubator-brooklyn git commit: Set blocking details when copying JMX resources

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 <sa...@cloudsoftcorp.com>
Authored: Fri May 29 14:38:35 2015 +0100
Committer: Sam Corbett <sa...@cloudsoftcorp.com>
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);
         }