package storm.applications.sink; import backtype.storm.tuple.Tuple; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import redis.clients.jedis.Jedis; import static storm.applications.constants.ReinforcementLearnerConstants.*; public class RedisSink extends BaseSink { private static final Logger LOG = LoggerFactory.getLogger(RedisSink.class); private Jedis jedis; private String queue; @Override public void initialize() { super.initialize(); queue = config.getString(getConfigKey(BaseConf.REDIS_SINK_QUEUE)); String redisHost = config.getString(getConfigKey(BaseConf.REDIS_HOST)); int redisPort = config.getInt(getConfigKey(BaseConf.REDIS_PORT)); jedis = new Jedis(redisHost, redisPort); } @Override public void execute(Tuple input) { String content = formatter.format(input); jedis.lpush(queue, content); collector.ack(input); } @Override protected Logger getLogger() { return LOG; } }