package com.genpt.nsight.siterelationshipfeed.contorller; import com.fasterxml.jackson.databind.ObjectMapper; import com.genpt.nsight.siterelationshipfeed.model.SiteRelationshipRequest; import com.genpt.nsight.siterelationshipfeed.service.SiteRelationshipFeedService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jms.annotation.JmsListener; import org.springframework.stereotype.Component; import javax.jms.TextMessage; @Component public class SiteRelationshipFeedJMSConsumer { private SiteRelationshipFeedService siteRelationshipFeedService; @Autowired public void setSiteRelationshipFeedService(SiteRelationshipFeedService siteRelationshipFeedService){ this.siteRelationshipFeedService =siteRelationshipFeedService; } private static final Logger LOGGER = LoggerFactory.getLogger(SiteRelationshipFeedJMSConsumer.class); @JmsListener(destination = "{tib.jms.siteRelationshipFeedQueue}") public void siteRelationshipFeedListener(TextMessage msg){ String correlationId=""; try { ObjectMapper objectMapper = new ObjectMapper(); SiteRelationshipRequest siteRelationshipRequest = objectMapper.readValue(msg.getText(),SiteRelationshipRequest.class); correlationId = siteRelationshipRequest.getHeader().getCorrelationId(); LOGGER.info("Received site relationship feed message correlationId:{}",correlationId); msg.acknowledge(); siteRelationshipFeedService.processSiteRelationshipFeed(siteRelationshipRequest); }catch(Exception ex){ LOGGER.error("Exception while processing site relationship feed. correlationId:{}, Exception : {}",correlationId, ex); } } }