List of usage examples for io.vertx.core Vertx eventBus
@CacheReturn EventBus eventBus();
From source file:app.Main.java
License:Apache License
public static void main(String... args) throws Throwable { Vertx vertx = Vertx.vertx(); TcpEventBusBridge bridge = TcpEventBusBridge.create(vertx, new BridgeOptions().addInboundPermitted(new PermittedOptions().setAddressRegex("sample.*")) .addOutboundPermitted(new PermittedOptions().setAddressRegex("sample.*"))); vertx.eventBus().consumer("sample.dumb.inbox", message -> { JsonObject body = (JsonObject) message.body(); System.out.println(body.encodePrettily()); });/*from ww w . j a v a2s.co m*/ MessageProducer<Object> tickPublisher = vertx.eventBus().publisher("sample.clock.ticks"); vertx.setPeriodic(1000L, id -> { tickPublisher.send(new JsonObject().put("tick", id)); }); vertx.eventBus().consumer("sample.echo", message -> { JsonObject body = (JsonObject) message.body(); System.out.println("Echoing: " + body.encodePrettily()); message.reply(body); }); bridge.listen(7000, result -> { if (result.failed()) { throw new RuntimeException(result.cause()); } else { System.out.println("TCP Event Bus bridge running on port 7000"); } }); }
From source file:com.cyngn.vertx.opentsdb.service.client.OpenTsDbClient.java
License:Apache License
public OpenTsDbClient(String host, int port, Vertx vertx, Consumer<Boolean> onInitialized) { NetClientOptions options = new NetClientOptions().setTcpKeepAlive(true); netClient = vertx.createNetClient(options); connected = false;/* ww w.ja v a 2 s .co m*/ consecutiveDisconnects = 0; bytesWrittenForPeriod = 0; bus = vertx.eventBus(); this.vertx = vertx; this.host = host; this.port = port; netClient.connect(port, host, connectResult -> { onInitialized.accept(connectResult.succeeded()); if (connectResult.succeeded()) { onConnect(connectResult.result()); } // if we don't succeed initially we'll fail startup of the reporter }); }
From source file:com.cyngn.vertx.opentsdb.spi.ScheduledMetrics.java
License:Apache License
public ScheduledMetrics(OpenTsDbOptions options, Vertx vertx) { this(options, vertx, vertx.eventBus()); }
From source file:com.groupon.vertx.utils.MainVerticle.java
License:Apache License
static void registerMessageCodecs(final Vertx vertx, final JsonObject config, final boolean abortOnFailure) throws CodecRegistrationException { final JsonArray messageCodecs = config.getJsonArray(MESSAGE_CODECS_FIELD); if (messageCodecs != null) { for (final Object messageCodecClassNameObject : messageCodecs.getList()) { if (messageCodecClassNameObject instanceof String) { final String messageCodecClassName = (String) messageCodecClassNameObject; try { final MessageCodec<?, ?> messageCodec = (MessageCodec<?, ?>) Class .forName(messageCodecClassName).newInstance(); vertx.eventBus().registerCodec(messageCodec); } catch (final InstantiationException | IllegalAccessException | ClassNotFoundException e) { log.warn("registerMessageCodecs", "start", new String[] { "message", "messageCodecClassName" }, "Failed to instantiate message codec", messageCodecClassName, e); if (abortOnFailure) { throw new CodecRegistrationException( String.format("Failed to instantiate message codec %s", messageCodecClassName), e);//from w w w .j ava2 s . c o m } } } else { log.warn("registerMessageCodecs", "start", new String[] { "message", "messageCodecClassName" }, "Ignoring non-string message codec class name", messageCodecClassNameObject); if (abortOnFailure) { throw new CodecRegistrationException("Ignoring non-string message codec class name"); } } } } }
From source file:com.rbmhtechnology.docs.vertx.japi.Documentation.java
License:Open Source License
public static void main(String[] args) { StorageProvider storageProvider = new FakeStorageProvider(); //#adapter-example ActorSystem actorSystem = ActorSystem.create("system"); Vertx vertx = Vertx.vertx(); ReplicationEndpoint endpoint = ReplicationEndpoint.create("endpoint", set("sourceLog", "destinationLog"), id -> LeveldbEventLog.props(id, "log", true), set(), EndpointFilters$.MODULE$.NoFilters(), "default", ApplicationVersion.apply("0.1"), actorSystem); ActorRef sourceLog = endpoint.logs().apply("sourceLog"); ActorRef destinationLog = endpoint.logs().apply("destinationLog"); VertxAdapterConfig config = VertxAdapterConfig.create() .addProducer(EventProducer.fromLog(sourceLog).publishTo("address-1").as("vertx-producer")) .addProducer(EventProducer.fromEndpoints("address-2").writeTo(destinationLog).as("log-producer")); VertxAdapter adapter = VertxAdapter.create(config, vertx, storageProvider, actorSystem); // receive events from sourceLog... vertx.eventBus().<Event>consumer("address-1").handler(message -> { final Event event = message.body(); // ...and persist the event in destinationLog vertx.eventBus().send("address-2", event); });/*w w w .j a v a 2 s . c om*/ adapter.start(); //# //#vertx-event-producer EventProducer.fromLog(sourceLog).publishTo("address-1").as("vertx-producer"); //# //#log-event-producer EventProducer.fromEndpoints("address-2").writeTo(destinationLog).as("log-producer"); //# //#event-processing-vertx-producer vertx.eventBus().<Event>consumer("address-1").handler(message -> { Event event = message.body(); }); //# //#event-processing-log-producer vertx.eventBus().send("address-2", new Event("event-1")); //# //#vertx-publish-producer EventProducer.fromLog(sourceLog).publishTo(ev -> { if (ev instanceof Event) { return Optional.of("address1"); } else if (ev instanceof Event2) { return Optional.of("address2"); } return Optional.of("default-address"); }).as("vertx-publish-producer"); //# //#vertx-ptp-producer-at-most-once EventProducer.fromLog(sourceLog).sendTo(ev -> { if (ev instanceof Event) { return Optional.of("address1"); } if (ev instanceof Event2) { return Optional.of("address2"); } return Optional.of("default-address"); }).as("vertx-ptp-producer"); //# //#vertx-ptp-producer-at-least-once EventProducer.fromLog(sourceLog).sendTo("address-1") .atLeastOnce(ConfirmationType.Batch.withSize(5), Duration.ofSeconds(5)).as("vertx-ptp-producer"); //# //#vertx-ptp-producer-handler vertx.eventBus().<Event>consumer("address-1").handler(message -> { Event event = message.body(); // confirm event receipt message.reply(Confirmation.create()); }); //# //#log-event-multiple-producer EventProducer.fromEndpoints("address-1", "address-2").writeTo(destinationLog, ev -> { if (ev instanceof Event) { return true; } if (ev instanceof Event2) { return true; } return false; }).as("log-producer"); //# //#log-producer-handler vertx.eventBus().<ProcessingResult>send("address-1", new Event("event-1"), ar -> { if (ar.succeeded()) { ProcessingResult result = ar.result().body(); } else { // write failed Throwable failure = ar.cause(); } }); //# //#message-codec VertxAdapterConfig.create().registerDefaultCodecFor(Event.class, Event2.class); //# //#event-metadata-from-headers vertx.eventBus().<Event>consumer("address-1").handler(message -> { MultiMap headers = message.headers(); String localLogId = headers.get(EventMetadata.Headers.LOCAL_LOG_ID); Long localSeqNr = Long.valueOf(headers.get(EventMetadata.Headers.LOCAL_SEQUENCE_NR)); String emitterId = headers.get(EventMetadata.Headers.EMITTER_ID); }); //# //#event-metadata-from-helper vertx.eventBus().<Event>consumer("address-1").handler(message -> { EventMetadata metadata = EventMetadata.fromHeaders(message.headers()).get(); String localLogId = metadata.localLogId(); Long localSeqNr = metadata.localSequenceNr(); String emitterId = metadata.emitterId(); }); //# }
From source file:com.sagalasan.swivel.control.Controller.java
License:Apache License
@Inject public void setVertx(Vertx vertx) { this.vertx = vertx; vertx.deployVerticle(this, res -> { deploymentID = res.result();/*from w w w .j a v a2s .c om*/ System.out.println(this.getClass().getSimpleName() + " deployed"); vertx.eventBus().send(CurrentTimeService.RECEIVE, new Ping(), reply -> { if (reply.succeeded()) { System.out.println("Reply successful"); Time time = (Time) reply.result().body(); onCurrentTimeReceived(time.getTime()); } }); onDeploy(); }); }
From source file:de.qreator.matheserver.Start.java
public static void main(String[] s) { int port = 8080; if (s.length == 1) { port = Integer.parseInt(s[0]); // port festlegen: }/*from w ww . java 2 s. c o m*/ Vertx vertx = Vertx.vertx(); io.vertx.core.http.HttpServer server = vertx.createHttpServer(); Router router = Router.router(vertx); SockJSHandler sockJSHandler = SockJSHandler.create(vertx); PermittedOptions[] inboundPermitted = new PermittedOptions[3]; inboundPermitted[0] = new PermittedOptions().setAddress("matheserver"); inboundPermitted[1] = new PermittedOptions().setAddress("matheserver.spielfeld"); inboundPermitted[2] = new PermittedOptions().setAddressRegex("matheserver.spieler\\..+"); BridgeOptions options = new BridgeOptions(); for (int i = 0; i < 3; i++) { options.addInboundPermitted(inboundPermitted[i]); options.addOutboundPermitted(inboundPermitted[i]); } sockJSHandler.bridge(options); router.route("/bridge/*").handler(sockJSHandler); router.route("/*").handler(StaticHandler.create()); // webroot unter src/main/resources/webroot server.requestHandler(router::accept).listen(port); EventBus eb = vertx.eventBus(); MessageConsumer<JsonObject> consumer = eb.consumer("matheserver"); consumer.handler(message -> { String typ = (message.body()).getString("typ"); if (typ.equals("einaus")) { try { Runtime.getRuntime().exec("sudo init 6"); System.out.println("System wird neu gestartet ..."); } catch (IOException ex) { ex.printStackTrace(); } } }); try { System.out.println("Spieler bitte mit Browser anmelden unter \nhttp://" + InetAddress.getLocalHost().getHostAddress() + ":" + port + "/spieler.html"); } catch (Exception e) { e.printStackTrace(); } }
From source file:eu.rethink.mn.pipeline.PipeRegistry.java
License:Apache License
public PipeRegistry(Vertx vertx, ClusterManager mgr, String domain) { this.domain = domain; this.mgr = mgr; this.eb = vertx.eventBus(); this.eb.registerDefaultCodec(PipeContext.class, new MessageCodec<PipeContext, PipeContext>() { @Override// ww w . ja v a2 s. co m public byte systemCodecID() { return -1; } @Override public String name() { return PipeContext.class.getName(); } @Override public PipeContext transform(PipeContext ctx) { return ctx; } @Override public void encodeToWire(Buffer buffer, PipeContext ctx) { final String msg = ctx.getMessage().toString(); logger.info("encodeToWire: " + msg); buffer.appendString(msg); } @Override public PipeContext decodeFromWire(int pos, Buffer buffer) { final String msg = buffer.getString(0, buffer.length() - 1); logger.info("decodeFromWire: " + msg); return null; //not needed in this architecture } }); this.components = new HashMap<String, IComponent>(); this.sessions = new HashMap<String, PipeSession>(); this.urlSpace = mgr.getSyncMap("urlSpace"); }
From source file:eventbusbridge.Main.java
License:Apache License
public static void main(String[] args) { final Vertx vertx = Vertx.vertx(); final EventBus eb = vertx.eventBus(); TcpEventBusBridge bridge = TcpEventBusBridge.create(vertx, new BridgeOptions().addOutboundPermitted(new PermittedOptions().setAddressRegex("test.*")) .addInboundPermitted(new PermittedOptions().setAddressRegex("test.*"))); final int port = Integer.parseInt(args[0]); final File semaphoreFile; if (args.length > 1) { semaphoreFile = new File(args[1]); } else {//from w w w.java 2 s . co m semaphoreFile = null; } bridge.listen(port, res -> { System.out.println("Vert.x bridge started on " + port); if (semaphoreFile != null) { try { semaphoreFile.createNewFile(); } catch (IOException e) { System.err.println(e); } } vertx.setPeriodic(100, timer -> { //System.out.println("Sending the time..."); eb.publish("test.time", new JsonObject().put("now", System.currentTimeMillis())); eb.send("test.time-send", new JsonObject().put("now", System.currentTimeMillis())); }); vertx.eventBus().consumer("test.echo", m -> { //System.out.println("echo: " + m.body()); JsonObject reply = new JsonObject(); JsonObject headers = new JsonObject(); m.headers().forEach(e -> headers.put(e.getKey(), e.getValue())); reply.put("original-body", m.body()).put("original-headers", headers); //System.out.println("REPLY: " + m.headers() + " | " + reply); m.reply(reply); // send a copy to another address as well to test // non-replyable messages if (m.isSend()) { eb.send("test.echo.responses", reply); } else { eb.publish("test.echo.responses", reply); } }); vertx.eventBus().consumer("test.ping-pong", Main::pingPong); }); }
From source file:examples.client.Examples.java
License:Open Source License
public void example0_1_1(Vertx vertx, JsonObject config) { JsonObject save = new JsonObject().put("collection", "books").put("document", new JsonObject().put("title", "The Hobbit")); vertx.eventBus().send("vertx.io.vertx.ext.marklogic", save, new DeliveryOptions().addHeader("action", "save"), saveResult -> { if (saveResult.succeeded()) { String id = (String) saveResult.result().body(); System.out.println("Saved book with id " + id); } else { saveResult.cause().printStackTrace(); }//from www. j av a2s. co m }); }