package com.taobao.easyweb.core.command;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.FutureTask;
import java.util.concurrent.ThreadFactory;
import org.apache.log4j.Logger;
import org.apache.mina.transport.socket.nio.SocketConnector;
/**
* �����
*
* @author jimmey
*
*/
public class CommandSenderFactory {
private final ConcurrentHashMap<String, FutureTask<CommandSender>> senders = new ConcurrentHashMap<String, FutureTask<CommandSender>>();
private static final Logger LOGGER = Logger.getLogger(CommandSenderFactory.class);
private static final String CONNECTOR_THREADNAME = "CommandSender";
// daemon thread
private static final ThreadFactory CONNECTOR_TFACTORY = new NamedThreadFactory(CONNECTOR_THREADNAME, true);
private static final CommandSenderFactory factory = new CommandSenderFactory(Runtime.getRuntime().availableProcessors() + 1);
private static final int MIN_CONN_TIMEOUT = 1000;
private final SocketConnector ioConnector;
public CommandSenderFactory(int processorCount) {
ioConnector = new SocketConnector();
}
public static CommandSenderFactory getSingleInstance() {
return factory;
}
}