diff options
4 files changed, 18 insertions, 12 deletions
diff --git a/feature-distributed-locking/src/main/java/org/onap/policy/distributed/locking/DistributedLockingFeature.java b/feature-distributed-locking/src/main/java/org/onap/policy/distributed/locking/DistributedLockingFeature.java index 5994beb6..019452a0 100644 --- a/feature-distributed-locking/src/main/java/org/onap/policy/distributed/locking/DistributedLockingFeature.java +++ b/feature-distributed-locking/src/main/java/org/onap/policy/distributed/locking/DistributedLockingFeature.java @@ -119,7 +119,7 @@ public class DistributedLockingFeature implements PolicyEngineFeatureAPI, Policy long heartbeatInterval = this.lockProps.getHeartBeatIntervalProperty(); cleanLockTable(); - heartbeat = new Heartbeat(uuid, lockProps); + initHeartbeat(lockProps); this.scheduledExecutorService = Executors.newScheduledThreadPool(1); this.scheduledExecutorService.scheduleAtFixedRate(heartbeat, heartbeatInterval, heartbeatInterval, TimeUnit.MILLISECONDS); @@ -158,6 +158,14 @@ public class DistributedLockingFeature implements PolicyEngineFeatureAPI, Policy } + /** + * Initialize the static heartbeat object + */ + private static void initHeartbeat(DistributedLockingProperties lockProps) { + heartbeat = new Heartbeat(uuid, lockProps); + + } + public static Heartbeat getHeartbeat() { return heartbeat; } diff --git a/policy-core/src/main/java/org/onap/policy/drools/core/lock/PolicyResourceLockFeatureAPI.java b/policy-core/src/main/java/org/onap/policy/drools/core/lock/PolicyResourceLockFeatureAPI.java index 9f42936d..d4e7bee9 100644 --- a/policy-core/src/main/java/org/onap/policy/drools/core/lock/PolicyResourceLockFeatureAPI.java +++ b/policy-core/src/main/java/org/onap/policy/drools/core/lock/PolicyResourceLockFeatureAPI.java @@ -64,7 +64,7 @@ public interface PolicyResourceLockFeatureAPI extends OrderedService { /** * Result of a requested operation. */ - public static enum OperResult { + public enum OperResult { /** * The implementer accepted the request; no additional locking logic should be diff --git a/policy-core/src/main/java/org/onap/policy/drools/core/lock/PolicyResourceLockManager.java b/policy-core/src/main/java/org/onap/policy/drools/core/lock/PolicyResourceLockManager.java index a9305e51..97e7242d 100644 --- a/policy-core/src/main/java/org/onap/policy/drools/core/lock/PolicyResourceLockManager.java +++ b/policy-core/src/main/java/org/onap/policy/drools/core/lock/PolicyResourceLockManager.java @@ -130,11 +130,11 @@ public class PolicyResourceLockManager extends SimpleLockManager { } - return doBoolIntercept(impl -> impl.beforeIsLocked(resourceId), () -> { + return doBoolIntercept(impl -> impl.beforeIsLocked(resourceId), () -> // implementer didn't do the work - defer to the superclass - return super.isLocked(resourceId); - }); + super.isLocked(resourceId) + ); } /** @@ -151,11 +151,11 @@ public class PolicyResourceLockManager extends SimpleLockManager { throw makeNullArgException(MSG_NULL_OWNER); } - return doBoolIntercept(impl -> impl.beforeIsLockedBy(resourceId, owner), () -> { + return doBoolIntercept(impl -> impl.beforeIsLockedBy(resourceId, owner), () -> // implementer didn't do the work - defer to the superclass - return super.isLockedBy(resourceId, owner); - }); + super.isLockedBy(resourceId, owner) + ); } /** @@ -210,6 +210,8 @@ public class PolicyResourceLockManager extends SimpleLockManager { */ private static class Singleton { + private static final PolicyResourceLockManager instance = new PolicyResourceLockManager(); + /** * Not invoked. */ @@ -217,7 +219,6 @@ public class PolicyResourceLockManager extends SimpleLockManager { super(); } - private static final PolicyResourceLockManager instance = new PolicyResourceLockManager(); } /** diff --git a/policy-core/src/main/java/org/onap/policy/drools/core/lock/SimpleLockManager.java b/policy-core/src/main/java/org/onap/policy/drools/core/lock/SimpleLockManager.java index 14cffaab..c2d58b85 100644 --- a/policy-core/src/main/java/org/onap/policy/drools/core/lock/SimpleLockManager.java +++ b/policy-core/src/main/java/org/onap/policy/drools/core/lock/SimpleLockManager.java @@ -49,9 +49,6 @@ public class SimpleLockManager { super(); } - // TODO: for ease of use by clients, should we always invoke the callback, even though - // this is synchronous? - /** * Attempts to lock a resource. This method ignores the callback and always returns a * {@link CompletedLockRequest}. |