diff options
author | bjormel <bjormel@yahooinc.com> | 2023-10-26 13:59:28 +0000 |
---|---|---|
committer | bjormel <bjormel@yahooinc.com> | 2023-10-26 13:59:28 +0000 |
commit | 567be9a1f6353cec41c23bfd1fcd46b4b2a4d2d7 (patch) | |
tree | 4664a743e166a5e11aee7b9acd70ad8ee2617612 /config-provisioning/src/main/java/com/yahoo/config/provision/ApplicationMutex.java | |
parent | e9058b555d4dfea2f6c872d9a677e8678b569569 (diff) | |
parent | bce3b8e926bf9da880172acbe1ba4b12d5e026d6 (diff) |
Merge branch 'master' into bjormel/aws-main-controllerbjormel/aws-main-controller
Diffstat (limited to 'config-provisioning/src/main/java/com/yahoo/config/provision/ApplicationMutex.java')
-rw-r--r-- | config-provisioning/src/main/java/com/yahoo/config/provision/ApplicationMutex.java | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/config-provisioning/src/main/java/com/yahoo/config/provision/ApplicationMutex.java b/config-provisioning/src/main/java/com/yahoo/config/provision/ApplicationMutex.java new file mode 100644 index 00000000000..f147bde65f7 --- /dev/null +++ b/config-provisioning/src/main/java/com/yahoo/config/provision/ApplicationMutex.java @@ -0,0 +1,32 @@ +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +package com.yahoo.config.provision; + +import com.yahoo.transaction.Mutex; + +import java.util.Objects; + +/** + * A type-safe wrapper for an application's provision lock. + * + * @author mpolden + */ +public class ApplicationMutex implements Mutex { + + private final ApplicationId application; + private final Mutex lock; + + public ApplicationMutex(ApplicationId application, Mutex lock) { + this.application = Objects.requireNonNull(application); + this.lock = Objects.requireNonNull(lock); + } + + public ApplicationId application() { + return application; + } + + @Override + public void close() { + lock.close(); + } + +} |