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

org.infinispan.commands.CancellationServiceImpl Maven / Gradle / Ivy

There is a newer version: 15.1.0.Dev04
Show newest version
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