void registerToEventBusForCacheVerticle()

in services/tracking-service/reactive-vertx/src/main/java/com/amazon/verticles/RedisVerticle.java [62:101]


    void registerToEventBusForCacheVerticle(final EventBus eb) {
        eb
                .<JsonObject>consumer(Constants.REDIS_EVENTBUS_ADDRESS)
                .handler(message -> {
                    // Getting data from Redis and storing it in cache verticle

                    TrackingMessage trackingMessage = Json.decodeValue(message.body().encode(), TrackingMessage.class);
                    LOGGER.info(RedisVerticle.class.getSimpleName() + ": I have received a message: " + message.body());

                    LOGGER.info("Looking for programId " + trackingMessage.getProgramId() + " in Redis");

                    redis
                            .send(cmd(HGETALL).arg(trackingMessage.getProgramId()))
                            .onSuccess(result -> {
                                if (null == result || result.size() == 0) {
                                    LOGGER.info("No object found");
                                    message.reply(new JsonObject());
                                } else {
                                    TrackingMessage msg = new TrackingMessage();
                                    msg.setUserAgent(result.get("userAgent").toString());
                                    msg.setProgramId(result.get("programId").toString());
                                    msg.setProgramName(result.get("programName").toString());
                                    msg.setChecksum(result.get("checksum").toString());
                                    msg.setCustomerId(result.get("customerId").toInteger());
                                    msg.setCustomerName(result.get("customerName").toString());
                                    msg.setMessageId(trackingMessage.getMessageId());
                                    msg.setValid(result.get("valid").toBoolean());

                                    JsonObject msgResult = JsonObject.mapFrom(msg);

                                    LOGGER.info("Result: " + msgResult);
                                    message.reply(msgResult);
                                }
                            })
                            .onFailure(err -> {
                                LOGGER.info("No object found: " + err);
                                message.reply(new JsonObject());
                            });
                });
    }