@Incoming("queue")
是否可以使用带有 quarkus 和 smallrye-reactive-messaging注释的相同方法并行处理多个 amqp -消息?
更准确地说,我有以下课程:
@ApplicationScoped
public class Receiver {
@Incoming("test-queue")
public void process(String input) {
System.out.println("start processing:" + input);
try {
Thread.sleep(10_000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("end processing:" + input);
}
}
使用 application.properties 中的配置:
amqp-host: localhost
amqp-port: 5672
amqp-username: quarkus
amqp-password: quarkus
mp.messaging.incoming.test-queue.connector: smallrye-amqp
mp.messaging.incoming.test-queue.address: test-queue
现在我想通过配置定义可以并行处理多少消息。例如,在 4 核 cpu 上,它应该并行运行 4 个。
目前,我可以添加 4 个具有不同名称的方法副本以允许这种并行性,但这是不可配置的。