/** * Copyright 2005-2014 Restlet * * The contents of this file are subject to the terms of one of the following * open source licenses: Apache 2.0 or or EPL 1.0 (the "Licenses"). You can * select the license that you prefer but you may not use this file except in * compliance with one of these Licenses. * * You can obtain a copy of the Apache 2.0 license at * http://www.opensource.org/licenses/apache-2.0 * * You can obtain a copy of the EPL 1.0 license at * http://www.opensource.org/licenses/eclipse-1.0 * * See the Licenses for the specific language governing permissions and * limitations under the Licenses. * * Alternatively, you can obtain a royalty free commercial license with less * limitations, transferable or non-transferable, directly at * http://restlet.com/products/restlet-framework * * Restlet is a registered trademark of Restlet S.A.S. */ package org.restlet.test.bench; import org.restlet.Component; import org.restlet.Context; import org.restlet.Request; import org.restlet.Response; import org.restlet.Restlet; import org.restlet.Server; import org.restlet.data.Protocol; import org.restlet.engine.Engine; import org.restlet.engine.connector.ConnectorHelper; import org.restlet.resource.ClientResource; public class NioServer { public static void main(String[] args) throws Exception { ConnectorHelper<Server> helper = null; helper = new org.restlet.ext.jetty.HttpServerHelper(null); // helper = new org.restlet.ext.simple.HttpServerHelper(null); // helper = new org.restlet.ext.nio.HttpServerHelper(null); // Register the selected connector Engine.getInstance().getRegisteredServers().add(0, helper); // Engine.setLogLevel(Level.FINEST); // Create and start a connector instance final Server server = new Server(new Context(), Protocol.HTTP, 9999); // server.getContext().getParameters().add("tracing", "true"); // server.getContext().getParameters().add("minThreads", "1"); // server.getContext().getParameters().add("lowThreads", "30"); // server.getContext().getParameters().add("maxThreads", "40"); // server.getContext().getParameters().add("maxQueued", "0"); // server.getContext().getParameters().add("directBuffers", "false"); // server.getContext().getParameters().add("workerThreads", "true"); // server.getContext().getParameters().add("pooledConnections", "true"); // server.getContext().getParameters().add("maxIoIdleTimeMs", // "3000000"); System.out.println("NIO SERVER"); Component comp = new Component(); comp.getServers().add(server); comp.getClients().add(Protocol.CLAP); final ClientResource fr = new ClientResource( "file://C/Test/getting-started.pdf"); // server.setNext(HelloServerResource.class); comp.getDefaultHost().attach(new Restlet() { @Override public void handle(Request request, Response response) { try { // fr.put(request.getEntity()); response.setEntity(fr.get()); // response.setEntity(new WrapperRepresentation(fr.get()) { // public long getSize() { // return -1L; // } // // public long getAvailableSize() { // return BioUtils.getAvailableSize(this); // } // }); } catch (Exception e) { e.printStackTrace(); } // response.setEntity("hello, world!", MediaType.TEXT_PLAIN); } }); // Configure the log service // comp.getLogService().setLogPropertiesRef( // "clap://system/org/restlet/test/bench/log.properties"); comp.start(); } }