List of usage examples for io.vertx.core.json JsonObject JsonObject
public JsonObject()
From source file:com.cyngn.vertx.opentsdb.Util.java
License:Apache License
/** * Create a bulk metric object for sending to the OpenTsDb lib * * @param metric the first metric to put in the bulk requests * @return the properly constructed metric object *///from w w w .j a v a 2 s . c o m public static JsonObject createBulkMetric(JsonObject metric) { return new JsonObject().put(OpenTsDbService.ACTION_FIELD, OpenTsDbService.ADD_ALL_COMMAND) .put(MetricsParser.METRICS_FIELD, new JsonArray().add(metric)); }
From source file:com.dangchienhsgs.redis.client.RedisOption.java
License:Open Source License
public RedisOption() { json = new JsonObject(); }
From source file:com.ddp.SimpleREST.java
License:Open Source License
public static void main(String argv[]) { VertxOptions options = new VertxOptions().setBlockedThreadCheckInterval(200000000); options.setClustered(true);//from w w w .ja v a 2s.co m Vertx.clusteredVertx(options, res -> { if (res.succeeded()) { Vertx vertx = res.result(); final JsonObject js = new JsonObject(); vertx.fileSystem().readFile("app-conf.json", result -> { if (result.succeeded()) { Buffer buff = result.result(); js.mergeIn(new JsonObject(buff.toString())); initConfig(js); DeploymentOptions deploymentOptions = new DeploymentOptions().setConfig(js) .setMaxWorkerExecuteTime(5000).setWorker(true).setWorkerPoolSize(5); vertx.deployVerticle(SimpleREST.class.getName(), deploymentOptions); } else { System.err.println("Oh oh ..." + result.cause()); } }); } }); }
From source file:com.ddp.SimpleREST.java
License:Open Source License
private void setUpInitialData() { final JDBCClient client = JDBCClient.createShared(vertx, new JsonObject().put("url", sqlUrl).put("driver_class", sqlDriverClass).put("max_pool_size", 30)); dataBrowse = new DataBrowse(client); scriptDataBroswe = new ScriptDataBrowse(client); userScriptManager = new UserScriptManager(client); //eventBus = getVertx().eventBus(); //eventBus.registerDefaultCodec(CustomMessage.class, new CustomMessageCodec()); }
From source file:com.deblox.Boot.java
License:Apache License
@Override public void start(final Future<Void> startedResult) { logger.info("\n" + " ? \n" + " \n" + " ? \n" + " \n" + " \n" + " ? \n" + " \n" + " 1.0\n" + " https://github.com/unixunion/deblox-vertx-template \n"); config = config();/*w w w . ja va 2 s . c om*/ eb = vertx.eventBus(); // warn a brother! if (config.equals(new JsonObject())) { logger.warn("you have no config here!"); } else { logger.info("config: " + config); } // Start each class mentioned in services for (final Object serviceClassName : config.getJsonArray("services", new JsonArray())) { logger.info("deploying service: " + serviceClassName); // get the config for the named service JsonObject serviceConfigJson = config.getJsonObject(serviceClassName.toString(), new JsonObject()); logger.info("serviceConfigJson: " + serviceConfigJson); // See DeploymentOptions.fromJson for all the possible configurables DeploymentOptions serviceConfig = new DeploymentOptions(serviceConfigJson); vertx.deployVerticle(serviceClassName.toString(), serviceConfig, res -> { if (res.succeeded()) { logger.info("successfully deployed service: " + serviceClassName); } else { logger.error("failure while deploying service: " + serviceClassName); res.cause().printStackTrace(); } }); } // for testing purposes, we need a litte delay since its less code than wait implement all verticles to boot. vertx.setTimer(1000, event -> { startedResult.complete(); logger.info("startup complete"); }); }
From source file:com.deblox.DebloxRunner.java
License:Apache License
public static void run(String runDir, String verticleID, VertxOptions options, String confFile) { logger.info("Booting"); // System.setProperty("vertx.cwd", runDir + "/"); Consumer<Vertx> runner = vertx -> { try {/* w w w . j a va2 s. c om*/ JsonObject config = Util.loadConfig(confFile); // put config inside a config tag to solve issue between running as fatJar and running main[] DeploymentOptions deploymentOptions = new DeploymentOptions(new JsonObject().put("config", config)); vertx.deployVerticle(verticleID, deploymentOptions); } catch (Throwable t) { t.printStackTrace(); } }; if (options.isClustered()) { Vertx.clusteredVertx(options, res -> { if (res.succeeded()) { Vertx vertx = res.result(); runner.accept(vertx); } else { res.cause().printStackTrace(); } }); } else { Vertx vertx = Vertx.vertx(options); runner.accept(vertx); } }
From source file:com.deblox.releaseboard.ReleaseBoardVerticle.java
License:Apache License
public void saveState() { logger.info("saving state"); JsonObject db = new JsonObject(); JsonArray releases = new JsonArray(); Iterator<Map.Entry<String, JsonObject>> iter = releasesData.entrySet().iterator(); while (iter.hasNext()) { Map.Entry<String, JsonObject> entry = iter.next(); JsonObject rel = new JsonObject(); rel.put("id", entry.getKey()); rel.put("data", entry.getValue()); releases.add(rel);// w w w .j av a2s . c o m } db.put("releases", releases); vertx.fileSystem().exists(stateFile, te -> { if (te.succeeded()) { if (te.result().booleanValue()) { vertx.fileSystem().deleteBlocking(stateFile); vertx.fileSystem().createFileBlocking(stateFile); } else { vertx.fileSystem().createFileBlocking(stateFile); } } else { logger.warn("unable to check if file exists: " + stateFile); } vertx.fileSystem().open(stateFile, new OpenOptions().setCreate(true).setWrite(true), r -> { if (r.succeeded()) { AsyncFile file = r.result(); file.write(Buffer.buffer(db.toString())); file.close(); } else { logger.warn(r.cause()); } }); }); }
From source file:com.deblox.solacemonitor.MonitorVerticle.java
License:Apache License
/** * Start the verticle//w w w.j av a 2 s . c o m * * @param startFuture * @throws Exception */ public void start(Future<Void> startFuture) throws Exception { logger.info("starup with config: " + config().toString()); // read startup config config = config(); // vars host = config.getString("host", null); port = config.getInteger("port", 80); uri = config.getString("uri", "/"); username = config.getString("username", "DEFAULT_USERNAME"); password = config.getString("password", "DEFAULT_PASSWORD"); credentials = String.format("%s:%s", username, password); method = config.getString("method", "GET"); // map for connected clients clients = new HashMap<UUID, String>(); // generate a uuid uuid = UUID.randomUUID().toString(); // connect to the eventbus eb = vertx.eventBus(); // create a instance of http client client = vertx.createHttpClient(); // eventbus ping listner eb.consumer("ping-address", message -> { logger.info(uuid + ": replying"); message.reply("pong!"); }); // handler for requests for metrics eb.consumer("request-metrics", message -> { logger.info(uuid + ": requesting metrics"); try { getRest(message.body().toString(), event -> { logger.debug("response: " + event.toString()); if (config().getBoolean("convert_xml_response_to_json", false)) { message.reply(Util.xml2json(event.toString())); } else { message.reply(event.toString()); } }); } catch (Exception e) { logger.warn("unable to get metric"); e.printStackTrace(); } }); // returns a array of names for all metrics defined in config // used for setting up the client eb.consumer("request-config", message -> { String req = message.body().toString(); logger.debug("config request for: " + req); JsonObject response = new JsonObject(); // all = return a list of metrics if (req.equals("all")) { JsonArray results = new JsonArray(config.getJsonObject("metrics").stream() .filter(r -> ((JsonObject) r.getValue()).getBoolean("show_in_menu", true)) .map(r -> r.getKey()).sorted().collect(Collectors.toList())); response.put("metrics", results); } else { // get a specific metric's config response = config.getJsonObject("metrics").getJsonObject(req); response.put("topic", req); logger.debug(response.toString()); } message.reply(response); }); // register new clients eb.consumer("newclient", message -> { logger.info("new client: " + message.body().toString()); JsonObject client = new JsonObject(message.body().toString()); clients.remove(client.getString("uuid")); clients.put(UUID.fromString(client.getString("uuid")), client.getString("version")); }); // client ping maintains the clients map eb.consumer("client-ping", message -> { JsonObject client = new JsonObject(message.body().toString()); clients.remove(client.getString("uuid")); clients.put(UUID.fromString(client.getString("uuid")), client.getString("version")); }); // listen for broadcasts from other verticles / clients eb.consumer("broadcast", event -> { logger.info(event.body().toString()); JsonObject message = new JsonObject(event.body().toString()); broadcast(message.getString("topic", "unknown"), event.body().toString()); }); // create metric emitters Iterator iter = config.getJsonObject("metrics", new JsonObject()).iterator(); while (iter.hasNext()) { Map.Entry<String, JsonObject> metricConfig = (Map.Entry) iter.next(); logger.debug("registering metric: " + metricConfig.getKey()); int interval = metricConfig.getValue().getInteger("interval", 0); if (interval != 0) { vertx.setPeriodic(interval, tid -> { logger.debug("metric interval handler for " + metricConfig.getKey() + " every " + interval); try { getRest(metricConfig.getKey(), event -> { logger.debug("metric: " + event.toString()); JsonObject metricMessage = new JsonObject(); metricMessage.put("topic", metricConfig.getKey()); metricMessage.put("data", Util.xml2json(event.toString())); // get the config for the metric JsonObject msgConfig = config.getJsonObject("metrics") .getJsonObject(metricConfig.getKey()).getJsonObject("config", new JsonObject()); // get the view_format by name msgConfig.put("view_format", config.getJsonObject("views", new JsonObject()) .getJsonObject(msgConfig.getString("view", "default"))); // put the config into the message metricMessage.put("config", msgConfig); // publish the metric eb.publish(metricConfig.getKey(), metricMessage); }); } catch (Exception e) { logger.warn("unable to publish metric"); e.printStackTrace(); } }); } else { logger.warn("metric " + metricConfig.getKey() + " is disabled "); } } // after 10 seconds, announce the server version to all clients vertx.setTimer(10000, tid -> { broadcast("broadcast", "Server Startup " + config.getString("version", server_version)); }); // after 10 seconds, announce the server version to all clients vertx.setPeriodic(1000, tping -> { eb.publish("ping", new JsonObject().put("data", "ping")); }); // periodically nuke all the client sessions vertx.setPeriodic(config().getInteger("client_session_refresh", 300000), res -> { clients = new HashMap<UUID, String>(); }); // periodically log number of clients in the map vertx.setPeriodic(config().getInteger("client_session_show", 180000), res -> { logger.info(clients.size() + " connected clients"); }); startFuture.complete(); }
From source file:com.deblox.solacemonitor.MonitorVerticle.java
License:Apache License
/** * Broadcasts a message to all clients/*from w w w . j a v a 2 s . c o m*/ * * @param action the action name * @param msg the body / message */ public void broadcast(String action, String msg) { JsonObject message = new JsonObject(); message.put("action", action); message.put("data", msg); clients.forEach((k, v) -> { logger.info("sending broadcast to client: " + k + ": " + v); eb.send(k.toString(), message); }); }
From source file:com.diabolicallabs.process.manager.service.KnowledgeServiceFactoryVertxEBProxy.java
License:Apache License
public KnowledgeServiceFactory getKnowledgeService(Handler<AsyncResult<KnowledgeService>> handler) { if (closed) { handler.handle(Future.failedFuture(new IllegalStateException("Proxy is closed"))); return this; }//w w w. j a v a 2 s . co m JsonObject _json = new JsonObject(); DeliveryOptions _deliveryOptions = (_options != null) ? new DeliveryOptions(_options) : new DeliveryOptions(); _deliveryOptions.addHeader("action", "getKnowledgeService"); _vertx.eventBus().<KnowledgeService>send(_address, _json, _deliveryOptions, res -> { if (res.failed()) { handler.handle(Future.failedFuture(res.cause())); } else { String addr = res.result().headers().get("proxyaddr"); handler.handle( Future.succeededFuture(ProxyHelper.createProxy(KnowledgeService.class, _vertx, addr))); } }); return this; }