package com.bao.lc.site;
import java.util.Date;
import org.apache.commons.chain.Command;
import org.apache.commons.chain.Context;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class SleepCommand implements Command
{
private static Log log = LogFactory.getLog(SleepCommand.class);
private Date startTime;
public SleepCommand(Date startTime)
{
this.startTime = startTime;
}
@Override
public boolean execute(Context context) throws Exception
{
long sleepTime = startTime.getTime() - System.currentTimeMillis();
log.info("sleepTime: " + sleepTime);
if(sleepTime > 0)
{
log.debug("Start to sleep " + sleepTime + " ms");
try
{
Thread.sleep(sleepTime);
}
catch(InterruptedException e)
{
log.warn("sleep InterruptedException.", e);
}
log.debug("Finished sleeping " + sleepTime + " ms");
}
return CONTINUE_PROCESSING;
}
}