gpt4 book ai didi

java - 使用 dropwizard 轮询 SQS

转载 作者:行者123 更新时间:2023-12-01 10:21:14 25 4
gpt4 key购买 nike

我想要实现的目标:

我想制作一个轮询 Amazon SQS 的 dropwizard 客户端。只要在队列中找到消息,就会对其进行处理和存储。

有关已处理消息的一些信息将通过 API 提供。

我为什么选择 Dropwizard:

看起来是制作 REST 客户端的不错选择。我需要指标、数据库连接并与一些 Java 服务集成。

我需要什么帮助:

在典型的 dropwizard 应用程序中,SQS 轮询将如何以及在何处适合还不是很清楚。
它应该是托管资源吗?或控制台记者 console-reporter ?或者别的东西。

最佳答案

您可以使用 com.google.common.util.concurrent.AbstractScheduledService 创建一个消费者线程并将其作为 ManagedTask 添加到 dropwizard 的环境生命周期中。以下是伪代码 -

public class YourSQSConsumer extends AbstractScheduledService {
@Override
protected void startUp() {
// may be print something
}

@Override
protected void shutDown() {
// may be print something
}

@Override
protected void runOneIteration() {
// code to poll on SQS
}

@Override
protected Scheduler scheduler() {
return newFixedRateSchedule(5, 1, SECONDS);
}
}

Main 中执行此操作 -

YourSQSConsumer consumer = new YourSQSConsumer();
Managed managedTask = new ManagedTask(consumer);
environment.lifecycle().manage(managedTask);

关于java - 使用 dropwizard 轮询 SQS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52096485/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com