我在 c3.large 机器上的 ec2 中运行 spring-boot 应用程序。它初始化一个 spring-rabbit 客户端,它启动自己的线程。
在使用 YourKit 分析我的应用程序后,我发现在 rabbit 客户端线程中花费了很多时间,里面:com.rabbitmq.client.impl.AMQConnection$MainLoop.run()
特别是在java.io.DataStream.readUnsignedByte()
对我来说,这看起来像是有一个 while 循环不断阻止从 RabbitMQ 服务器获取套接字上的一些输入。
有没有人遇到过这个?我是否正确阅读了分析结果?有没有办法让 amqp 客户端不阻塞?