Пример #1
0
  @Transactional(readOnly = true)
  public void processMessageRetries() {
    MessageRequestDAO msgReqDao = coreManager.createMessageRequestDAO();
    List<MessageRequest> messages =
        msgReqDao.getMsgRequestByStatusAndTryNumber(MStatus.RETRY, maxTries);

    if (messages == null || messages.isEmpty()) {
      logger.info("No message request to retry");
      return;
    }
    logger.info("Fetched " + messages.size() + " message requests for retry");

    logger.info("Processing messages...");
    for (MessageRequest message : messages) {
      try {
        processMessageRetry(message);
      } catch (Exception e) {
        logger.error("Error while retrying message requests: ", e);
      }
    }

    logger.info("Messages processed successfully");
  }