private void run(int port) { try { ServerFacade.initialize(); } catch (ServerException e) { return; } try { server = HttpServer.create(new InetSocketAddress(SERVER_PORT_NUMBER), MAX_WAITING_CONNECTIONS); } catch (IOException e) { return; } server.setExecutor(null); // use the default executor server.createContext("/", downloadFileHandler); server.createContext("/ValidateUser", validateUserHandler); server.createContext("/GetProjects", getProjectsHandler); server.createContext("/GetSampleImage", getSampleImageHandler); server.createContext("/DownloadBatch", downloadBatchHandler); server.createContext("/SubmitBatch", submitBatchHandler); server.createContext("/GetFields", getFieldsHandler); server.createContext("/Search", searchHandler); server.start(); }
public static void main(String[] args) { try { String serverAddress = args[0]; int port = Integer.parseInt(args[1]); String localAddress = args[2]; /** create a httpServer */ System.out.println("Starting HTTP server"); HttpServer httpServer = HttpServer.create(new InetSocketAddress(80), 0); httpServer.createContext("/", new HttpFileHandler()); httpServer.setExecutor(null); httpServer.start(); System.out.println("Creating RMI Registry"); Registry registry = LocateRegistry.createRegistry(1099); Reference reference = new javax.naming.Reference( "client.ExportObject", "client.ExportObject", "http://" + localAddress + "/"); ReferenceWrapper referenceWrapper = new com.sun.jndi.rmi.registry.ReferenceWrapper(reference); registry.bind("Object", referenceWrapper); System.out.println("Connecting to server " + serverAddress + ":" + port); Socket socket = new Socket(serverAddress, port); System.out.println("Connected to server"); String jndiAddress = "rmi://" + localAddress + ":1099/Object"; org.springframework.transaction.jta.JtaTransactionManager object = new org.springframework.transaction.jta.JtaTransactionManager(); object.setUserTransactionName(jndiAddress); System.out.println("Sending object to server..."); ObjectOutputStream objectOutputStream = new ObjectOutputStream(socket.getOutputStream()); objectOutputStream.writeObject(object); objectOutputStream.flush(); /* while(true) { Thread.sleep(1000); } */ } catch (Exception e) { e.printStackTrace(); } }
public static void main(String[] args) throws Exception { HttpServer s1 = null; HttpsServer s2 = null; ExecutorService executor = null; try { String root = System.getProperty("test.src") + "/docs"; System.out.print("Test12: "); InetSocketAddress addr = new InetSocketAddress(0); s1 = HttpServer.create(addr, 0); s2 = HttpsServer.create(addr, 0); HttpHandler h = new FileServerHandler(root); HttpContext c1 = s1.createContext("/test1", h); HttpContext c2 = s2.createContext("/test1", h); executor = Executors.newCachedThreadPool(); s1.setExecutor(executor); s2.setExecutor(executor); ctx = new SimpleSSLContext(System.getProperty("test.src")).get(); s2.setHttpsConfigurator(new HttpsConfigurator(ctx)); s1.start(); s2.start(); int port = s1.getAddress().getPort(); int httpsport = s2.getAddress().getPort(); Runner r[] = new Runner[8]; r[0] = new Runner(true, "http", root + "/test1", port, "smallfile.txt", 23); r[1] = new Runner(true, "http", root + "/test1", port, "largefile.txt", 2730088); r[2] = new Runner(true, "https", root + "/test1", httpsport, "smallfile.txt", 23); r[3] = new Runner(true, "https", root + "/test1", httpsport, "largefile.txt", 2730088); r[4] = new Runner(false, "http", root + "/test1", port, "smallfile.txt", 23); r[5] = new Runner(false, "http", root + "/test1", port, "largefile.txt", 2730088); r[6] = new Runner(false, "https", root + "/test1", httpsport, "smallfile.txt", 23); r[7] = new Runner(false, "https", root + "/test1", httpsport, "largefile.txt", 2730088); start(r); join(r); System.out.println("OK"); } finally { delay(); if (s1 != null) s1.stop(2); if (s2 != null) s2.stop(2); if (executor != null) executor.shutdown(); } }
private static HttpServer createHttpServer(ExecutorService execs) throws Exception { InetSocketAddress inetAddress = new InetSocketAddress(0); HttpServer testServer = HttpServer.create(inetAddress, 5); testServer.setExecutor(execs); HttpContext context = testServer.createContext("/test"); context.setHandler( new HttpHandler() { public void handle(HttpExchange msg) { try { synchronized (lock) { ++s_received; if ((s_received % 1000) == 0) { System.out.println("Received=" + s_received); } } String method = msg.getRequestMethod(); if (method.equals("POST")) { InputStream is = msg.getRequestBody(); byte[] buf = readFully(is); is.close(); writePostReply(msg, buf); } else { System.out.println("****** METHOD not handled ***** " + method); System.out.println("Received=" + s_received); } synchronized (lock) { ++sent; if ((sent % 1000) == 0) { System.out.println("sent=" + sent); } } } catch (Exception e) { e.printStackTrace(); } finally { msg.close(); } } }); return testServer; }
/** * Create the HttpServer to use. Can be overridden if a custom or already existing HttpServer * should be used * * @return HttpServer to use * @throws IOException if something fails during the initialisation */ private HttpServer createHttpServer(JolokiaServerConfig pConfig) throws IOException { int port = pConfig.getPort(); InetAddress address = pConfig.getAddress(); InetSocketAddress socketAddress = new InetSocketAddress(address, port); HttpServer server = pConfig.useHttps() ? createHttpsServer(socketAddress, pConfig) : HttpServer.create(socketAddress, pConfig.getBacklog()); // Prepare executor pool Executor executor; String mode = pConfig.getExecutor(); if ("fixed".equalsIgnoreCase(mode)) { executor = Executors.newFixedThreadPool(pConfig.getThreadNr(), daemonThreadFactory); } else if ("cached".equalsIgnoreCase(mode)) { executor = Executors.newCachedThreadPool(daemonThreadFactory); } else { executor = Executors.newSingleThreadExecutor(daemonThreadFactory); } server.setExecutor(executor); return server; }
public RemoteWeb(int port) throws IOException { if (port <= 0) { port = defaultPort; } users = new HashMap<>(); tags = new HashMap<>(); roots = new HashMap<String, RootFolder>(); // Add "classpaths" for resolving web resources resources = AccessController.doPrivileged( new PrivilegedAction<RemoteUtil.ResourceManager>() { public RemoteUtil.ResourceManager run() { return new RemoteUtil.ResourceManager( "file:" + configuration.getProfileDirectory() + "/web/", "jar:file:" + configuration.getProfileDirectory() + "/web.zip!/", "file:" + configuration.getWebPath() + "/"); } }); readCred(); // Setup the socket address InetSocketAddress address = new InetSocketAddress(InetAddress.getByName("0.0.0.0"), port); // Initialize the HTTP(S) server if (configuration.getWebHttps()) { try { server = httpsServer(address); } catch (IOException e) { LOGGER.error("Failed to start WEB interface on HTTPS: {}", e.getMessage()); LOGGER.trace("", e); if (e.getMessage().contains("UMS.jks")) { LOGGER.info( "To enable HTTPS please generate a self-signed keystore file called \"UMS.jks\" using the java 'keytool' commandline utility."); } } catch (GeneralSecurityException e) { LOGGER.error( "Failed to start WEB interface on HTTPS due to a security error: {}", e.getMessage()); LOGGER.trace("", e); } } else { server = HttpServer.create(address, 0); } if (server != null) { int threads = configuration.getWebThreads(); // Add context handlers addCtx("/", new RemoteStartHandler(this)); addCtx("/browse", new RemoteBrowseHandler(this)); RemotePlayHandler playHandler = new RemotePlayHandler(this); addCtx("/play", playHandler); addCtx("/playstatus", playHandler); addCtx("/playlist", playHandler); addCtx("/media", new RemoteMediaHandler(this)); addCtx("/fmedia", new RemoteMediaHandler(this, true)); addCtx("/thumb", new RemoteThumbHandler(this)); addCtx("/raw", new RemoteRawHandler(this)); addCtx("/files", new RemoteFileHandler(this)); addCtx("/doc", new RemoteDocHandler(this)); addCtx("/poll", new RemotePollHandler(this)); server.setExecutor(Executors.newFixedThreadPool(threads)); server.start(); } }