Spring интеграция InboundAdapter / OutboundAdapter flow - PullRequest
0 голосов
/ 22 февраля 2019

Пытаюсь прочитать из очереди 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 мсг / с.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...