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());
});
});
}