コード例 #1
0
ファイル: Server.java プロジェクト: dro248/CS-240
  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();
  }
コード例 #2
0
  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();
    }
  }
コード例 #3
0
  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();
    }
  }
コード例 #4
0
 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;
 }
コード例 #5
0
ファイル: JolokiaServer.java プロジェクト: rhuss/jolokia
  /**
   * 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;
  }
コード例 #6
0
  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();
    }
  }