List of usage examples for io.vertx.core.http HttpServerOptions setReuseAddress
@Override public HttpServerOptions setReuseAddress(boolean reuseAddress)
From source file:org.azrul.langmera.DecisionService.java
@Override public void start(Future<Void> fut) { // Create a router object. Router router = Router.router(vertx); //enable CORS if (config.getProperty("enableCors", Boolean.class)) { String allowedAddress = config.getProperty("cors.allowedAddress", String.class); CorsHandler c = CorsHandler.create(allowedAddress); String allowedHeaders = config.getProperty("cors.allowedHeaders", String.class); if (allowedHeaders != null) { String[] allowedHeadersArray = allowedHeaders.split(","); c.allowedHeaders(new HashSet<String>(Arrays.asList(allowedHeadersArray))); }/*from w w w . java2 s . c o m*/ String allowedMethods = config.getProperty("cors.allowedMethods", String.class); if (allowedMethods != null) { String[] allowedMethodsArray = allowedMethods.split(","); for (String m : allowedMethodsArray) { if ("POST".equals(m)) { c.allowedMethod(HttpMethod.POST); } else if ("PUT".equals(m)) { c.allowedMethod(HttpMethod.PUT); } else if ("GET".equals(m)) { c.allowedMethod(HttpMethod.GET); } else if ("DELETE".equals(m)) { c.allowedMethod(HttpMethod.DELETE); } } } router.route().handler(c); } //Handle body router.route().handler(BodyHandler.create()); //router.route("/langmera/assets/*").handler(StaticHandler.create("assets")); router.post("/langmera/api/makeDecision").handler(this::makeDecision); router.post("/langmera/api/acceptFeedback").handler(this::acceptFeedback); //router.post("/langmera/api/getHistory").handler(this::getHistory); //router.post("/langmera/api/getRequestTemplate").handler(this::getRequestTemplate); //router.post("/langmera/api/getResponseTemplate").handler(this::getFeedbackTemplate); HttpServerOptions options = new HttpServerOptions(); options.setReuseAddress(true); // Create the HTTP server and pass the "accept" method to the request handler. vertx.createHttpServer(options).requestHandler(router::accept).listen( // Retrieve the port from the configuration, // default to 8080. config().getInteger("http.port", config.getProperty("http.port", Integer.class)), result -> { if (result.succeeded()) { fut.complete(); } else { fut.fail(result.cause()); } }); }
From source file:org.azrul.langmera.SaveToDB.java
@Override public void start(Future<Void> fut) { HttpServerOptions options = new HttpServerOptions(); options.setReuseAddress(true); JDBCClient client = JDBCClient.createShared(vertx, new JsonObject().put("url", "jdbc:postgresql://localhost:5432/langmeradb") .put("driver_class", "org.postgresql.Driver").put("max_pool_size", 20) .put("user", "Langmera").put("password", "1qazZAQ!")); vertx.eventBus().<byte[]>consumer("SAVE_TRACE_TO_TRACE", message -> { Trace trace = (Trace) SerializationUtils.deserialize(message.body()); client.getConnection(res -> { if (!res.succeeded()) { logger.log(Level.SEVERE, "Problem encountered getting DB connection. Please check DB credentials", res.cause()); } else { SQLConnection connection = res.result(); // String sql = "insert into Trace(context,qvalue,decisionid, decisiontime,decision,score) values(?,?,?,?,?,?)"; // JsonArray input = new JsonArray(). // add(trace.getContext()). // add(trace.getQvalue()). // add(trace.getDecisionId()). // add(trace.getTimeStamp()). // add(trace.getOption()). // add(trace.getScore()); String sql = "insert into Trace(context,qvalue,decisionid, decisiontime,decision,score,maxQ) values('" + trace.getContext() + "'," + trace.getQvalue() + ",'" + trace.getDecisionId() + "','" + trace.getTimeStamp() + "','" + trace.getOption() + "'," + trace.getScore() + "," + trace.getMaxQ() + ")"; //System.out.println("SQL:"+sql); connection.execute(sql, res2 -> { if (res2.failed()) { logger.log(Level.SEVERE, "Problem encountered when saving to DB", res2.cause()); }//from w ww . j a v a2 s. c o m connection.close(); }); // connection.setAutoCommit(false, // res3->connection.updateWithParams(sql, input, res2 -> { // if (res2.failed()){ // connection.rollback(res5->{ // logger.log(Level.SEVERE, "Problem encountered when saving to DB", res2.cause()); // }); // // }else{ // connection.commit(res4->{ // connection.close(); // }); // } // // })); } }); }); }