/* * Copyright (c) 2012 EMC Corporation * All Rights Reserved */ package com.emc.storageos.volumecontroller.impl; import com.emc.storageos.coordinator.client.service.ConnectionStateListener; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Listens to coordinator connection state changes and cancels in flight operations * that rely on distributed locks */ public class LockStateListener implements ConnectionStateListener { private static final Logger _log = LoggerFactory.getLogger(LockStateListener.class); @Override public void connectionStateChanged(State state) { switch (state) { case DISCONNECTED: { // when this block is reached, assume all locks have been released _log.info("Disconnected from cluster"); break; } case CONNECTED: { // when this block is reached, assume you can start issuing operations again / take locks _log.info("Connected to cluster"); } } } }