Speak now
Please Wait Image Converting Into Text...
Embark on a journey of knowledge! Take the quiz and earn valuable credits.
Challenge yourself and boost your learning! Start the quiz now to earn credits.
Unlock your potential! Begin the quiz, answer questions, and accumulate credits along the way.
General Tech Bugs & Fixes . 1 year ago
Turn Your Knowledge into Earnings.
I have setup a JmsListener to read messages from a sqs queue. Firtsly i created a configuration class like below to setup a ConnectionFactory and JMSTemplate
@Configuration @EnableJms public class SQSJmsConfig { private AWSCredentialsProvider awsCredentialsProvider; @Value("${aws.ses.accessKey}") private String accessKey; @Value("${aws.ses.secretKey}") private String secretKey; @Bean public DefaultJmsListenerContainerFactory jmsListenerContainerFactory() { AWSCredentials awsCredentials = new BasicAWSCredentials(accessKey, secretKey); awsCredentialsProvider = new AWSStaticCredentialsProvider(awsCredentials); SQSConnectionFactory sqsConnectionFactory = new SQSConnectionFactory(new ProviderConfiguration(), AmazonSQSClientBuilder.standard().withRegion(Regions.US_EAST_1).withCredentials(awsCredentialsProvider)); DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory(); factory.setConnectionFactory(sqsConnectionFactory); factory.setDestinationResolver(new DynamicDestinationResolver()); factory.setConcurrency("3-10"); factory.setSessionAcknowledgeMode(Session.CLIENT_ACKNOWLEDGE); return factory; } @Bean public JmsTemplate defaultJmsTemplate() { AWSCredentials awsCredentials = new BasicAWSCredentials(accessKey, secretKey); awsCredentialsProvider = new AWSStaticCredentialsProvider(awsCredentials); SQSConnectionFactory sqsConnectionFactory = new SQSConnectionFactory(new ProviderConfiguration(), AmazonSQSClientBuilder.standard().withRegion(Regions.US_EAST_1).withCredentials(awsCredentialsProvider)); return new JmsTemplate(sqsConnectionFactory); } }
Then i created a JmsListener method to read messages from sqs queue
@Service public class SQSQueueService { private static final Logger log = LoggerFactory.getLogger(SQSQueueService.class); @JmsListener(destination = "${aws.sqs.queueName}") public void readPlan(SQSEmailStatusQueue sqsEmailStatusQueue) { try { log.info("SNS notification received from SQS queue"); String message = sqsEmailStatusQueue.getMessage(); System.out.println(message); } catch (Exception e) REPLY 2 views 0 likes 0 shares Facebook Twitter Linked In WhatsApp
General Tech 9 Answers
General Tech 7 Answers
General Tech 3 Answers
General Tech 2 Answers
Banking, Finance & Insurance
Mobile Technologies
Career Talk
General Tech
Commerce & Accounting
Career Talk0 Answers
General Tech0 Answers
Digital Marketing0 Answers
Internet of Things0 Answers
Interview Questions0 Answers
Your experience on this site will be improved by allowing cookies.