com.rabbitmq.jms.util.Abortable Maven / Gradle / Ivy
/* Copyright (c) 2013 Pivotal Software, Inc. All rights reserved. */
package com.rabbitmq.jms.util;
/**
* Classes whose instances can be aborted, stopped and started (from other threads) implement this interface.
*/
public interface Abortable {
/**
* Cause any other implementing threads to terminate fairly quickly, signalling abnormal termination
* to its instigator, if necessary.
*
* Implementations of this method must be thread-safe.
*
*/
void abort() throws Exception;
/**
* Cause any other implementing threads to stop temporarily.
*
* Implementations of this method must be thread-safe.
*
*/
void stop() throws Exception;
/**
* Cause any other stopped threads to start.
*
* Implementations of this method must be thread-safe.
*
*/
void start() throws Exception;
}