I've got a simple restful api in SpringIntegration 5.5.15, SpringBoot 2.7.6 and SpringFramework 5.3.24.
It's using a http:inbound-gateway
to map the incoming requests to the channels in the workflow, making calls out via http:outbound-gateway
to external restful APIs.
I get the impression that I'm not getting much parallelism in this API, that only a single API call at a time is being serviced (out of 200 simultaneous calls) and I'm not sure where the limitation lies. I've tried adding an executor to the channel referenced by the http:inbound-gateway
via the request-channel
but that doesn't seem to even work as it doesn't wait for the downstream response.
I must be missing something fundamental. Any pointers appreciated.
CodePudding user response:
Apparently you have a QueueChannel
in your flow which you don't mention in this question. PollableChannel
s are consumed via scheduled tasks and default thread pool for an auto-configured TaskScheduler
is really 1
.
See this SO thread: Performance issue with upgrade of spring boot
and this doc: https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#features.task-execution-and-scheduling