small tweak to optimise subscription tracker access
diff --git a/core/src/main/java/org/apache/brooklyn/core/entity/AbstractEntity.java b/core/src/main/java/org/apache/brooklyn/core/entity/AbstractEntity.java
index 58767e4..738ce86 100644
--- a/core/src/main/java/org/apache/brooklyn/core/entity/AbstractEntity.java
+++ b/core/src/main/java/org/apache/brooklyn/core/entity/AbstractEntity.java
@@ -264,7 +264,7 @@
@Deprecated
protected final Map<String,Object> tempWorkings = Maps.newLinkedHashMap();
- protected transient SubscriptionTracker _subscriptionTracker;
+ protected transient volatile SubscriptionTracker _subscriptionTracker;
public AbstractEntity() {
this(Maps.newLinkedHashMap(), null);
@@ -1492,6 +1492,9 @@
}
protected SubscriptionTracker getSubscriptionTracker() {
+ if (_subscriptionTracker != null) {
+ return _subscriptionTracker;
+ }
// TODO Would be nice to simplify concurrent model, and not synchronize on
// AbstractEntity.this; perhaps could get rid of lazy-initialisation, but then
// would need to first ensure `managementSupport` is definitely initialised.