@Transactional(readOnly = true) public void processMessageRequests() { MessageRequestDAO msgReqDao = coreManager.createMessageRequestDAO(); List<MessageRequest> messages = msgReqDao.getMsgByStatus(MStatus.QUEUED); int numMsgs = (messages == null) ? 0 : messages.size(); logger.info("MessageRequest fetched: " + numMsgs); logger.debug(messages); Language defaultLanguage = coreManager.createLanguageDAO().getByCode(defaultLang); logger.info("Building GatewayRequests..."); for (MessageRequest message : messages) { try { processMessageRequest(message, defaultLanguage); } catch (Exception e) { logger.error("Error while processing message requests: ", e); } } logger.info("Messages processed successfully"); }