public boolean readProperties() throws IOException { properties = new Properties(); FileInputStream is = new FileInputStream(SERVERPROPSFILE); properties.load(is); is.close(); serverData = new ESBServerData(); serverData.setBrokerName(properties.getProperty("BrokerName")); serverData.setBrokerPort(properties.getProperty("BrokerPort")); serverData.setBrokerIP(properties.getProperty("BrokerIP")); serverData.setRegServicePort(properties.getProperty("RegServicePort")); serverData.setWebServerPort(properties.getProperty("WebServerPort")); serverData.setAsynchServletCorePoolSize( Integer.parseInt(properties.getProperty("AsynchServletCorePoolSize"))); serverData.setAsynchServletMaxPoolSize( Integer.parseInt(properties.getProperty("AsynchServletMaxPoolSize"))); serverData.setAsynchServletMaxWorkInQueue( Integer.parseInt(properties.getProperty("AsynchServletMaxWorkInQueue"))); serverData.setAsynchCallDefaultTimeoutMS( Integer.parseInt(properties.getProperty("AsynchCallDefaultTimeoutMS"))); serverData.setHeaderBufferSize(Integer.parseInt(properties.getProperty("HeaderBufferSize"))); logger.info("Read properties file..."); return true; }
public void runServletContainer() throws Exception { // setup the executor for the servlet logger.debug("Starting Servlet Container..."); executor = new ThreadPoolExecutor( serverData.getAsynchServletCorePoolSize(), serverData.getAsynchServletMaxPoolSize(), 50000L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<Runnable>(serverData.getAsynchServletMaxWorkInQueue())); Server server = new Server(Integer.parseInt(serverData.getWebServerPort())); server.getConnectors()[0].setRequestHeaderSize(serverData.getHeaderBufferSize()); ServletHolder sh = new ServletHolder(ServletContainer.class); sh.setInitParameter( "com.sun.jersey.config.property.resourceConfigClass", "com.sun.jersey.api.core.PackagesResourceConfig"); // sh.setInitParameter("com.sun.jersey.config.property.packages", // serverData.getJerseyPackage()); sh.setAsyncSupported(true); // un-comment these to enable tracing of requests and responses // sh.setInitParameter("com.sun.jersey.config.feature.Debug", "true"); // sh.setInitParameter("com.sun.jersey.config.feature.Trace", "true");// // sh.setInitParameter("com.sun.jersey.spi.container.ContainerRequestFilters", // "com.sun.jersey.api.container.filter.LoggingFilter"); // sh.setInitParameter("com.sun.jersey.spi.container.ContainerResponseFilters", // "com.sun.jersey.api.container.filter.LoggingFilter"); ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS); context.setContextPath("/"); context.addServlet(sh, "/*"); context.addServlet("semplest.server.ESB.AsyncServlet", "/*"); server.setHandler(context); logger.debug("Servlet Container Start..."); server.start(); server.join(); }
public boolean createRegistrationServer() { try { logger.debug("Starting NIO reg Server..."); // create the NIO server to handle incoming registration ProcessRequestWorker worker = new ProcessRequestWorker(); new Thread(worker).start(); new Thread( new NIOServer(null, Integer.parseInt(serverData.getRegServicePort()), worker, this)) .start(); logger.debug("NIO Started..."); return true; } catch (IOException e) { e.printStackTrace(); return false; } }