コード例 #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
 public static void main(String[] args) throws Exception {
   try {
     lock = new Object();
     if (args.length > 0) {
       NUM = Integer.parseInt(args[0]);
     }
     execs = Executors.newFixedThreadPool(5);
     httpServer = createHttpServer(execs);
     port = httpServer.getAddress().getPort();
     pool = Executors.newFixedThreadPool(10);
     httpServer.start();
     for (int i = 0; i < NUM; i++) {
       pool.execute(new Client());
       if (error) {
         throw new Exception("error in test");
       }
     }
     System.out.println("Main thread waiting");
     pool.shutdown();
     long latest = System.currentTimeMillis() + 200 * 1000;
     while (System.currentTimeMillis() < latest) {
       if (pool.awaitTermination(2000L, TimeUnit.MILLISECONDS)) {
         System.out.println("Main thread done!");
         return;
       }
       if (error) {
         throw new Exception("error in test");
       }
     }
     throw new Exception("error in test: timed out");
   } finally {
     httpServer.stop(0);
     pool.shutdownNow();
     execs.shutdownNow();
   }
 }
コード例 #5
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();
    }
  }
コード例 #6
0
ファイル: ServerMain.java プロジェクト: snpamueh/wahlzeit
 public void startHttpServer(HttpServer httpServer) throws Exception {
   httpServer.start();
   SysLog.logInfo("http server was started");
 }