/** * Copyright (c) 2015-2016 Inria * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * - Philippe Merle <philippe.merle@inria.fr> */ package org.occiware.mart.server; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.servlet.ServletHandler; import org.occiware.clouddesigner.occi.OCCIRegistry; import org.occiware.mart.MART; public class JettyServerMain { public static void main(String[] args) throws Exception { // Init OCCIware Models@Run.time. MART.initMART(); System.out.println("Available OCCI extensions:"); for(String extensionURI : OCCIRegistry.getInstance().getRegisteredExtensions()) { System.out.println("* " + extensionURI); } // Create a basic jetty server object that will listen on port 8080. // Note that if you set this to port 0 then a randomly available port // will be assigned that you can either look in the logs for the port, // or programmatically obtain it for use in test cases. Server server = new Server(9090); // The ServletHandler is a dead simple way to create a context handler // that is backed by an instance of a Servlet. // This handler then needs to be registered with the Server object. ServletHandler handler = new ServletHandler(); server.setHandler(handler); // Passing in the class for the Servlet allows jetty to instantiate an // instance of that Servlet and mount it on a given context path. // IMPORTANT: // This is a raw Servlet, not a Servlet that has been configured // through a web.xml @WebServlet annotation, or anything similar. handler.addServletWithMapping(OcciServlet.class, "/*"); // Start things up! server.start(); MART.reportJavaInformation(); // The use of server.join() the will make the current thread join and // wait until the server is done executing. // See // http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html#join() server.join(); } }