List of usage examples for io.vertx.core.eventbus EventBus registerDefaultCodec
@GenIgnore <T> EventBus registerDefaultCodec(Class<T> clazz, MessageCodec<T, ?> codec);
From source file:co.runrightfast.vertx.core.RunRightFastVerticle.java
License:Apache License
/** * An IllegalStateException is thrown if a codec is already registered with the same name. Ignore the exception. * * @param <REQ>/*from w ww .java2s.co m*/ * @param <RESP> * @param config */ private <REQ extends Message, RESP extends Message> void registerMessageCodecs( final MessageConsumerConfig<REQ, RESP> config) { final EventBus eventBus = vertx.eventBus(); try { final MessageCodec codec = new ProtobufMessageCodec( config.getAddressMessageMapping().getRequestDefaultInstance()); eventBus.registerDefaultCodec(config.getAddressMessageMapping().getRequestDefaultInstance().getClass(), codec); } catch (final IllegalStateException e) { log.logp(FINE, CLASS_NAME, "registerMessageCodecs", "failed to register codec for request message", e.getCause()); } config.getAddressMessageMapping().getResponseDefaultInstance().ifPresent(responseDefaultInstance -> { try { // TODO: Investigate why Optional type is lost - forced to cast responseDefaultInstance to Message final MessageCodec codec = new ProtobufMessageCodec((Message) responseDefaultInstance); eventBus.registerDefaultCodec(responseDefaultInstance.getClass(), codec); } catch (final IllegalStateException e) { log.logp(FINE, CLASS_NAME, "registerMessageCodecs", "failed to register codec for response message", e.getCause()); } }); }
From source file:docoverride.eventbus.Examples.java
License:Open Source License
public void example11(EventBus eventBus, MessageCodec myCodec) { eventBus.registerDefaultCodec(MyPOJO.class, myCodec); eventBus.send("orders", new MyPOJO()); }
From source file:org.matrixlab.pisces.metastore.VertxEventBus.java
@Override public void start() throws Exception { EventBus eventBus = getVertx().eventBus(); // Register codec for custom message eventBus.registerDefaultCodec(CustomMessage.class, new CustomMessageCodec()); // Custom message // CustomMessage clusterWideMessage = new CustomMessage(200, "a00000001", "Message sent from publisher!"); CustomMessage localMessage = new CustomMessage(200, "a0000001", "Local message!"); // Send a message to [cluster receiver] every second // getVertx().setPeriodic(1000, _id -> { // eventBus.send("cluster-message-receiver", clusterWideMessage, reply -> { // if (reply.succeeded()) { // CustomMessage replyMessage = (CustomMessage) reply.result().body(); // System.out.println("Received reply: " + replyMessage.getSummary()); // } else { // System.out.println("No reply from cluster receiver"); // } // }); // }); // Deploy local receiver getVertx().deployVerticle(LocalReceiver.class.getName(), deployResult -> { // Deploy succeed if (deployResult.succeeded()) { // Send a message to [local receiver] every 2 second getVertx().setPeriodic(2000, _id -> { eventBus.send("local-message-receiver", localMessage, reply -> { if (reply.succeeded()) { CustomMessage replyMessage = (CustomMessage) reply.result().body(); System.out.println("Received local reply: " + replyMessage.getSummary()); } else { System.out.println("No reply from local receiver"); }//from w w w. j a v a2 s. c o m }); }); // Deploy failed } else { } }); }