Reference: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/getting-started.html In AWS documentation, they have suggested approach with JMS listener under "Receiving messages asynchronously" section. After 1 million request aws sqs costs 0.4$ per request usually. Under the hood, listener is polling only. Will AWS charge us for each poll request it makes internally when we use listener or for each received message? Could not find this information on AWS billing page.
Polling SQS also count towards request. Receiving a message or not is another metric and is called size of payload. So 1 million free requests in SQS also include polling (both long and short).
ref: https://aws.amazon.com/sqs/pricing/
API Actions Every Amazon SQS action counts as a request.