You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by he...@apache.org on 2016/02/01 18:49:05 UTC
[19/50] brooklyn-server git commit: Fix thread-safety in
NonDeploymentManagementContext
Fix thread-safety in NonDeploymentManagementContext
Project: http://git-wip-us.apache.org/repos/asf/brooklyn-server/repo
Commit: http://git-wip-us.apache.org/repos/asf/brooklyn-server/commit/9fcdee9e
Tree: http://git-wip-us.apache.org/repos/asf/brooklyn-server/tree/9fcdee9e
Diff: http://git-wip-us.apache.org/repos/asf/brooklyn-server/diff/9fcdee9e
Branch: refs/heads/0.5.0
Commit: 9fcdee9eb93f43ae14cbdf3fac6e2deffbc69c01
Parents: 19938ce
Author: Aled Sage <al...@gmail.com>
Authored: Wed Apr 17 14:57:25 2013 +0100
Committer: Aled Sage <al...@gmail.com>
Committed: Wed Apr 17 14:57:25 2013 +0100
----------------------------------------------------------------------
.../management/internal/NonDeploymentManagementContext.java | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/9fcdee9e/core/src/main/java/brooklyn/management/internal/NonDeploymentManagementContext.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/management/internal/NonDeploymentManagementContext.java b/core/src/main/java/brooklyn/management/internal/NonDeploymentManagementContext.java
index 9b915aa..f5fcb03 100644
--- a/core/src/main/java/brooklyn/management/internal/NonDeploymentManagementContext.java
+++ b/core/src/main/java/brooklyn/management/internal/NonDeploymentManagementContext.java
@@ -1,6 +1,7 @@
package brooklyn.management.internal;
import static com.google.common.base.Preconditions.checkNotNull;
+import static com.google.common.base.Preconditions.checkState;
import java.net.URL;
import java.util.Collection;
@@ -48,13 +49,13 @@ public class NonDeploymentManagementContext implements ManagementContextInternal
}
private final AbstractEntity entity;
- private NonDeploymentManagementContextMode mode;
- private ManagementContextInternal initialManagementContext;
+ private volatile NonDeploymentManagementContextMode mode;
+ private volatile ManagementContextInternal initialManagementContext;
private final QueueingSubscriptionManager qsm;
private final BasicSubscriptionContext subscriptionContext;
private final NonDeploymentExecutionContext executionContext;
- private NonDeploymentEntityManager entityManager;
+ private volatile NonDeploymentEntityManager entityManager;
public NonDeploymentManagementContext(AbstractEntity entity, NonDeploymentManagementContextMode mode) {
this.entity = checkNotNull(entity, "entity");
@@ -66,6 +67,7 @@ public class NonDeploymentManagementContext implements ManagementContextInternal
}
public void setManagementContext(ManagementContextInternal val) {
+ checkState(initialManagementContext == null || initialManagementContext == val, "Must not change initialManagementContext from %s to %s", initialManagementContext, val);
this.initialManagementContext = checkNotNull(val, "initialManagementContext");
this.entityManager = new NonDeploymentEntityManager(val);
}
@@ -78,6 +80,7 @@ public class NonDeploymentManagementContext implements ManagementContextInternal
public void setMode(NonDeploymentManagementContextMode mode) {
this.mode = checkNotNull(mode, "mode");
}
+
public NonDeploymentManagementContextMode getMode() {
return mode;
}