org.infinispan.commands.CancellationServiceImpl Maven / Gradle / Ivy
package org.infinispan.commands;
import java.util.Map;
import java.util.UUID;
import org.infinispan.commons.util.CollectionFactory;
import org.infinispan.util.logging.Log;
import org.infinispan.util.logging.LogFactory;
/**
* CancellationServiceImpl is a default implementation of {@link CancellationService}
*
* @author Vladimir Blagojevic
* @since 5.2
*/
public class CancellationServiceImpl implements CancellationService {
private static final Log log = LogFactory.getLog(CancellationServiceImpl.class);
private final Map commandThreadMap = CollectionFactory.makeConcurrentMap();
@Override
public void register(Thread t, UUID id) {
commandThreadMap.put(id, t);
}
@Override
public void unregister(UUID id) {
commandThreadMap.remove(id);
}
@Override
public void cancel(UUID id) {
Thread thread = commandThreadMap.get(id);
if (thread != null) {
log.trace("Calling interrupt on thread " + thread);
thread.interrupt();
} else{
log.couldNotInterruptThread(id);
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy