Пытаюсь прочитать из очереди RabbitMQ, используя Amqp.InboundAdapter, обработать его и затем отправить в другую очередь.
Таким образом, поток выглядит следующим образом:
Amqp.InboundAdapter ->Активатор службы -> Amqp.outboundAdapter
Но проблема в том, что скорость обработки очень низкая.Скорость доставки на консоли rabbitmq составляет 0,2 / с или 1 с, что очень медленно.
Что может быть причиной этой медлительности?
IntegrationFlows.from(
Amqp.inboundAdapter(connectionFactory, IncomingQueue)
.configureContainer(c -> {
c.concurrentConsumers(classicFlatFileConcurrentConsumers);
c.prefetchCount(incomingPrefetchCount);
c.adviceChain(new Advice[]{retryOperationsInterceptor});
c.channelTransacted(false);
})
)
.handle(myTransformer)
.split()
.filter(ResultDTO.class, dto -> dto.getID() != null)
.handle(Amqp.outboundAdapter(rabbitTemplate).routingKey(OutputQueueName))
.get();
Обратите внимание, что я использую rabbitTemplate в Amqp.OutboundAdapter,для которого usePublisherConnection установлено в значение True.
Когда я не использую интеграцию пружин, тогда скорость сообщений в консоли rabbitmq высока, около 1000 мсг / с.