首页 文章

与http-outbound-gateway并行执行请求

提问于
浏览
0

我需要在具有不同查询参数的特定域上执行大量的http请求,并且我计划使用弹出集成的出站网关,其配置类似于以下代码段:

<int-http:outbound-gateway id="httpOutboundGateway" request-channel="requestChannel"
        url="http://www.google.com" http-method="GET" reply-channel="responseChannel"
        expected-response-type="java.lang.String" charset="UTF-8" reply-timeout="5000"
        message-converters="" >
</int-http:outbound-gateway>

我想使用一些线程池并行地在请求通道中执行请求 . 在这方面我有以下问题:

  • 将配置请求通道,因为ExecutorChannel会自动并行执行请求 .

  • 如果问题1的答案是肯定的,那么http:outbound-gateway线程是否安全 .

  • 如果问题1的答案为否,则如何配置并行执行http请求

1 回答

  • 0

    实际上它取决于上游流量 . 如果从同一个线程的循环内的代码发送到 requestChannel ,您的所有请求将逐个串行处理 .

    如果所有的请求来自Web的最终用户,则每个请求都将在该线程内完成 .

    如果您的上游流程是多线程的,则无需继续使用 ExecutorChannelThreadPool .

    所有Spring集成组件都是线程安全的 . 我们整天争取那些东西 . 由于Spring Integration用于消息传递,我们没有上下文,所有这些组件都是 stateless .

    HTH

相关问题