Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public RedisMessage getRedisMessage(RedisMessageType... types) {
- String message = null;
- try {
- message = (String) redisTemplate.opsForList().rightPop(workQueue);
- } catch (Exception e) {
- LOGGER.error("Can not pop messages form: " + workQueue, e);
- }
- if (!StringUtils.isNotBlank(message)) {
- LOGGER.error("A null/blank message encountered in " + workQueue + ". Discarding!");
- }
- RedisMessage redisMessage = Utils.constructObject(message, RedisMessage.class);
- for (RedisMessageType type : types) {
- if (type.equals(redisMessage.getType())){
- String objString = getObjectStringByRefId(redisMessage.getRequestId(), redisMessage.getId());
- if (StringUtils.isNotBlank(objString)) {
- return redisMessage;
- } else {
- String error = "Message ref: " + redisMessage.getId() + " is a non-existing object.";
- LOGGER.error(error);
- handleFailures(redisMessage, new Exception(error));
- return null;
- }
- }
- }
- String error = "The message type: " + redisMessage.getType() + " is not supported.";
- LOGGER.error(error);
- handleFailures(redisMessage, new Exception(error));
- return null;
- }
- public String getAndRemoveLastObjectFromList(String queueName) {
- return (String) redisTemplate.opsForList().rightPop(queueName);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement