All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.vertx.ext.consul.SessionBehavior Maven / Gradle / Ivy

/*
 * Copyright (c) 2016 The original author or authors
 *
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * and Apache License v2.0 which accompanies this distribution.
 *
 *      The Eclipse Public License is available at
 *      http://www.eclipse.org/legal/epl-v10.html
 *
 *      The Apache License v2.0 is available at
 *      http://www.opensource.org/licenses/apache2.0.php
 *
 * You may elect to redistribute this code under either of these licenses.
 */
package io.vertx.ext.consul;

import io.vertx.codegen.annotations.VertxGen;

/**
 * When a session is invalidated, it is destroyed and can no longer be used. What happens to the associated locks
 * depends on the behavior specified at creation time. Consul supports a release and delete behavior.
 * The release behavior is the default if none is specified.
 * 

* If the release behavior is being used, any of the locks held in association with the session are released, * and the ModifyIndex of the key is incremented. Alternatively, if the delete behavior is used, * the key corresponding to any of the held locks is simply deleted. This can be used to create ephemeral * entries that are automatically deleted by Consul. * * @author Ruslan Sennov * @see Consul sessions documentation */ @VertxGen public enum SessionBehavior { RELEASE("release"), DELETE("delete"); public final String key; public static SessionBehavior of(String key) { for (SessionBehavior sessionBehavior : values()) { if (sessionBehavior.key.equals(key)) { return sessionBehavior; } } return null; } SessionBehavior(String key) { this.key = key; } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy