Refine search
@Override public void start() throws Exception { EventBus eb = vertx.eventBus(); eb.consumer("news-feed", message -> System.out.println("Received news on consumer 1: " + message.body())); eb.consumer("news-feed", message -> System.out.println("Received news on consumer 2: " + message.body())); eb.consumer("news-feed", message -> System.out.println("Received news on consumer 3: " + message.body())); System.out.println("Ready!"); } }
@Test public void testChangesNotVisibleObject3() { Map<String, Object> map = new HashMap<>(); final JsonObject obj = new JsonObject(map); eb.<JsonObject>consumer("foo").handler((Message<JsonObject> msg) -> { vertx.setTimer(1000, id -> { assertFalse(msg.body().containsKey("b")); testComplete(); }); }); eb.send("foo", obj); map.put("b", "uhqdihuqwd"); await(); }
@Override public void start() throws Exception { System.out.println("[Worker] Starting in " + Thread.currentThread().getName()); vertx.eventBus().<String>consumer("sample.data", message -> { System.out.println("[Worker] Consuming data in " + Thread.currentThread().getName()); String body = message.body(); message.reply(body.toUpperCase()); }); } }
@Test public void testChangesNotVisibleArray3() { List<Object> list = new ArrayList<>(); final JsonArray obj = new JsonArray(list); eb.<JsonArray>consumer("foo").handler((Message<JsonArray> msg) -> { vertx.setTimer(1000, id -> { assertEquals(0, msg.body().size()); testComplete(); }); }); eb.send("foo", obj); list.add("uhwqdiuh"); await(); } }
@Test public void testPublishSameHandlerRegisteredTwice() { String str = TestUtils.randomUnicodeString(1000); AtomicInteger count = new AtomicInteger(); Handler<Message<String>> handler = (Message<String> msg) -> { assertEquals(str, msg.body()); if (count.incrementAndGet() == 2) { testComplete(); } }; eb.<String>consumer(ADDRESS1).handler(handler); eb.<String>consumer(ADDRESS1).handler(handler); eb.publish(ADDRESS1, str); await(); }
@Test public void testRegisterLocal1() { String str = TestUtils.randomUnicodeString(100); eb.<String>localConsumer(ADDRESS1).handler((Message<String> msg) -> { assertEquals(str, msg.body()); testComplete(); }).completionHandler(ar -> { assertTrue(ar.succeeded()); eb.send(ADDRESS1, str); }); await(); }
public MessageProducerImpl(Vertx vertx, String address, boolean send, DeliveryOptions options) { this.vertx = vertx; this.bus = vertx.eventBus(); this.address = address; this.send = send; this.options = options; if (send) { String creditAddress = UUID.randomUUID().toString() + "-credit"; creditConsumer = bus.consumer(creditAddress, msg -> { doReceiveCredit(msg.body()); }); options.addHeader(CREDIT_ADDRESS_HEADER_NAME, creditAddress); } else { creditConsumer = null; } }
@Test public void testPublishMultipleHandlers() { String str = TestUtils.randomUnicodeString(100); AtomicInteger count = new AtomicInteger(); eb.<String>consumer(ADDRESS1).handler((Message<String> msg) -> { assertEquals(str, msg.body()); if (count.incrementAndGet() == 2) { testComplete(); } }); eb.<String>consumer(ADDRESS1).handler((Message<String> msg) -> { assertEquals(str, msg.body()); if (count.incrementAndGet() == 2) { testComplete(); } }); eb.publish(ADDRESS1, str); await(); }
@Test public void testReplyFromWorker() throws Exception { String expectedBody = TestUtils.randomAlphaString(20); startNodes(2); CountDownLatch latch = new CountDownLatch(1); vertices[0].deployVerticle(new AbstractVerticle() { @Override public void start() throws Exception { vertices[1].eventBus().<String>consumer(ADDRESS1, msg -> { msg.reply(expectedBody); }).completionHandler(ar -> { assertTrue(ar.succeeded()); latch.countDown(); }); } }, new DeploymentOptions().setWorker(true)); awaitLatch(latch); vertices[0].eventBus().send(ADDRESS1, "whatever", reply -> { assertTrue(reply.succeeded()); assertEquals(expectedBody, reply.result().body()); testComplete(); }); await(); }
@Test public void testGetInstanceCountMultipleVerticles() throws Exception { AtomicInteger messageCount = new AtomicInteger(0); AtomicInteger totalReportedInstances = new AtomicInteger(0); vertx.eventBus().consumer("instanceCount", event -> { messageCount.incrementAndGet(); totalReportedInstances.addAndGet((int)event.body()); if(messageCount.intValue() == 3) { assertEquals(9, totalReportedInstances.get()); testComplete(); } }); vertx.deployVerticle(TestVerticle3.class.getCanonicalName(), new DeploymentOptions().setInstances(3), ar -> { assertTrue(ar.succeeded()); }); await(); Deployment deployment = ((VertxInternal) vertx).getDeployment(vertx.deploymentIDs().iterator().next()); CountDownLatch latch = new CountDownLatch(1); vertx.undeploy(deployment.deploymentID(), ar -> latch.countDown()); awaitLatch(latch); }