package org.xadoop;
import java.io.File;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.mortbay.jetty.Server;
import org.mortbay.jetty.servlet.Context;
import org.mortbay.jetty.servlet.ServletHolder;
import org.xadoop.servlet.ResourcesServlet;
import org.xadoop.servlet.XadoopServlet;
/**
* Entry point to standalone Xadoop.
*
* @author Lukas Blunschi
*
*/
public class RunXadoopStandalone {
private static Log log = LogFactory.getLog(RunXadoopStandalone.class);
/**
* @param args
*/
public static void main(String[] args) {
new RunXadoopStandalone().run();
}
private void run() {
// starting xadoop
log.info("Xadoop starting...");
// context name and port
String contextName = "xadoop";
int port = 8010;
log.info("Context name: " + contextName + ", Port: " + port);
// current directory
File currentDir = new File(".");
log.info("Current directory: " + currentDir.getAbsolutePath());
// start jetty
try {
Server server = new Server(port);
Context context = new Context(server, "/" + contextName, Context.SESSIONS);
// add servlet
context.addServlet(new ServletHolder(new XadoopServlet()), "/*");
context.addServlet(new ServletHolder(new ResourcesServlet()), "/resources/*");
context.addServlet(new ServletHolder(new ResourcesServlet()), "/upload/*");
// init
XadoopInit.init(context.getServletContext(), "props/", "upload/");
// start HTTP server
server.start();
log.info("Xadoop " + XadoopConstants.VERSION + " running.");
} catch (Exception e) {
log.error("Failure during start of Jetty: " + e.getMessage());
e.printStackTrace();
}
log.info("Start thread finished.");
}
}