【发布时间】:2022-01-18 15:18:06
【问题描述】:
@Value("${amazon.sqs.queue.endpoint}")
private String endpoint;
@Value("${amazon.sqs.queue.name}")
private String queueName;
@Autowired
private SQSListener sqsListener;
@Bean
public DefaultMessageListenerContainer jmsListenerContainer() throws JMSException {
SQSConnectionFactory sqsConnectionFactory = SQSConnectionFactory.builder()
.withAWSCredentialsProvider(new DefaultAWSCredentialsProviderChain())
.withEndpoint(endpoint)
.withAWSCredentialsProvider(new ClasspathPropertiesFileCredentialsProvider("AwsCredentials-sqs.properties"))
.withNumberOfMessagesToPrefetch(10).build();
DefaultMessageListenerContainer dmlc = new DefaultMessageListenerContainer();
dmlc.setConnectionFactory(sqsConnectionFactory);
dmlc.setDestinationName(queueName);
dmlc.setConcurrentConsumers(1);
dmlc.setMaxConcurrentConsumers(100);
dmlc.setMessageListener(sqsListener);
return dmlc;
}
@Component
公共类 SQSListener 实现 MessageListener {
private static final Logger LOGGER = LoggerFactory.getLogger(SQSListener.class);
@Override
public void onMessage(Message message) {
try {
// Cast the recei
ved message as TextMessage and print the text to screen.
System.out.println("Received: " + ((TextMessage) message).getText());
} catch (JMSException e) {
e.printStackTrace();
}
}
}
我在 s3 中添加了一个文件,然后消息被发送到 sqs 队列。 收到此消息后,我可以获取在 s3 中上传的实际数据吗?
【问题讨论】:
标签: java amazon-web-services amazon-s3 amazon-sqs