Advertisement
viraco4a

Original

Mar 14th, 2019
631
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.54 KB | None | 0 0
  1. public RedisMessage getRedisMessage(RedisMessageType... types) {
  2. String message = null;
  3. try {
  4. message = (String) redisTemplate.opsForList().rightPop(workQueue);
  5. } catch (Exception e) {
  6. LOGGER.error("Can not pop messages form: " + workQueue, e);
  7. }
  8.  
  9. if (!StringUtils.isNotBlank(message)) {
  10. LOGGER.error("A null/blank message encountered in " + workQueue + ". Discarding!");
  11. }
  12.  
  13. RedisMessage redisMessage = Utils.constructObject(message, RedisMessage.class);
  14. for (RedisMessageType type : types) {
  15. if (type.equals(redisMessage.getType())){
  16. String objString = getObjectStringByRefId(redisMessage.getRequestId(), redisMessage.getId());
  17. if (StringUtils.isNotBlank(objString)) {
  18. return redisMessage;
  19. } else {
  20. String error = "Message ref: " + redisMessage.getId() + " is a non-existing object.";
  21. LOGGER.error(error);
  22. handleFailures(redisMessage, new Exception(error));
  23. return null;
  24. }
  25. }
  26. }
  27.  
  28. String error = "The message type: " + redisMessage.getType() + " is not supported.";
  29. LOGGER.error(error);
  30. handleFailures(redisMessage, new Exception(error));
  31. return null;
  32. }
  33.  
  34. public String getAndRemoveLastObjectFromList(String queueName) {
  35. return (String) redisTemplate.opsForList().rightPop(queueName);
  36. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement