Java tutorial
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package vertx_react.verticles; import io.vertx.core.AbstractVerticle; import io.vertx.core.Future; import io.vertx.core.eventbus.EventBus; import io.vertx.core.eventbus.Message; import io.vertx.core.json.Json; import io.vertx.core.json.JsonArray; import io.vertx.core.json.JsonObject; import io.vertx.core.logging.Logger; import io.vertx.core.logging.LoggerFactory; import java.util.Calendar; import java.util.List; import java.util.Random; import java.util.stream.Collectors; /** * * @author ezequiel */ public class EventsVerticle extends AbstractVerticle { private static final Logger log = LoggerFactory.getLogger(WebApp.class); @Override public void start(Future<Void> startFuture) throws Exception { EventBus eb = this.getVertx().eventBus(); eb.consumer("incoming", (Message<JsonObject> handler) -> { JsonObject m = handler.body(); JsonArray ja = new JsonArray(getRandomArray()); JsonObject j = new JsonObject().put("table", m.getInteger("table")).put("openSeats", ja); handler.reply(j); log.info(Json.encodePrettily(m.encodePrettily())); }); super.start(startFuture); } private List<Integer> getRandomArray() { Random r = new Random(Calendar.getInstance().getTimeInMillis()); return r.ints(4, 0, 7).boxed().filter(number -> number < 4).map((number) -> { return number + 1; }).collect(Collectors.toList()); } }