package com.neverwinterdp.scribengin.ScribeConsumerManager;
import java.util.List;
import com.neverwinterdp.scribengin.scribeconsumer.ScribeConsumerConfig;
/**
* Should be able to start and monitor launched servers
* @author Richard Duarte
*
*/
public abstract class AbstractScribeConsumerManager {
/**
* Starts ScribeConsumer
* @return True on successfully starting consumer, otherwise false
*/
public abstract boolean startNewConsumer(ScribeConsumerConfig c);
public abstract boolean startNewConsumers(ScribeConsumerConfig c, List<String> topics);
/**
* Check the state of a launched server
* If server has died, relaunch
*/
public abstract void monitorConsumers();
public abstract boolean shutdownConsumers();
public abstract int getNumConsumers();
/**
* For testing - should kill the consumers in a way
* that forces monitorConsumers to restart them
* @return true if consumers were killed properly
*/
public abstract boolean killConsumersUncleanly();
}