我正在开发一个使用Micronaut的应用程序,需要使用RabbitMQ队列中的消息。问题是队列可以提供很多消息,所以我想有一个参数化的消费者实例数。
例如,以下代码会自动生成消费者的一个实例:
@RabbitListener
public class TestConsumer {
@Queue("TestQueue")
public void handleMessage(String message) {
// some treatment
}
}
有没有办法告诉 micronaut 实例化多个实例?
如果我理解正确,您想配置有多少线程使用队列中的消息。您可以通过在application.yml中配置的执行器来执行此操作
参见micronaut rabbitmq docu中的以下示例。
@RabbitListener
public class ProductListener {
List<String> messageLengths = Collections.synchronizedList(new ArrayList<>());
@Queue(value = "product", executor = "product-listener")
public void receive(byte[] data) {
messageLengths.add(new String(data));
System.out.println("Java received " + data.length + " bytes from RabbitMQ");
}
}
用application.yml
micronaut:
executors:
product-listener:
type: fixed
nThreads: 25
Grails 框架作者的最新力作,Micronaut 是一个新一代基于 JVM 的全栈的微服务框架,用于构建模块化的、易于测试的微服务应用。 Micronaut 的灵感来自于这些年作者使用 Spring、Spring Boot 和 Grails 构建从大型应用到服务应用的经历。 Micronaut 旨在提供所有构建微服务应用必要的工具,包括: 依赖注入和控制反转 (IoC) 规范优于配置和自动配置
在过去的两天里,我有机会和Micronaut一起玩。 它看起来不错,我喜欢内置的对OpenAPI的支持(Swagger)。我成功地将OpenAPI文档放在本地的Swagger UI中,并且我能够按照预期创建一些显示在Swagger UI中的文档。 然后我转移到一个小现实世界的项目,它使用Lombok和流畅的API,配置在lombok.config 此设置导致Lombok不创建getter/sett
我有一个提供REST API的Grails 4应用程序。其中一个endpoint有时会出现以下异常而失败: endpoint使用micronaut http客户端调用其他系统。远程系统需要很长时间才能响应,导致ReadTimeOutException。 以下是调用远程服务的代码: 我尝试在application.yml中使用以下配置解决它: 和 ...没有成功。尽管我进行了配置,但在调用endpo
Micronaut Micronaut is a modern, JVM-based, full stack Java framework designed for building modular, easily testable JVM applications with support for Java, Kotlin and the Groovy language. Micronaut i
ASCLAB Micronaut PoC - LAB Insurance Sales Portal This is an example of a very simplified insurance sales system made in a microservice architecture using Micronaut. Comprehensive guide describing exa
我尝试为API控制器编写UnitTest,它使用来自micronaut-data-jpa的CrudRepository。我使用@mockbean来模拟控制器中的协作存储库。如果我运行测试,我会得到以下错误: 没有这样的方法[findById(java.lang.object)] 我从未使用过Spock、Micronaut-Data或Micronaut-Test,只从以下来源尝试过: https:/
我来自Grails背景,最近在Micronaut使用GORM启动了一个项目。 我有以下代码: 应用程序编译和启动没有问题,但当我尝试访问url http:localhost:8080/author时,我收到以下错误: 10:25:29.431[nioEventLoopGroup-1-2]错误i.m.h.s.netty。RoutingInBoundHandler-发生意外错误:将对象[[micron
我是Micronaut和Gradle的新手,在尝试获得简单的控制器应用程序设置时遇到了一些问题。我可以运行该应用程序,但测试不起作用。我想这一定是由于我的gradle配置。 我的所有类都存在于同一个包中。 这是我的简单应用测试: 和我的简单应用程序: 我可以很好地运行应用程序。但当我尝试使用这些测试时,会出现以下错误: 我的控制器测试也有类似的错误 我的控制器测试类: 这里是错误 以下是我的相关G