Multithreading 定义HTTP请求程序配置/连接器上的线程数

Multithreading 定义HTTP请求程序配置/连接器上的线程数,multithreading,mule,mule-studio,Multithreading,Mule,Mule Studio,我正试图控制Mule中传出HTTP连接的maxThreadsActive和maxThreadsIdle的数量 设置默认线程配置文件不会影响分配给HTTP请求程序的线程数量 对于HTTP侦听器,可以通过HTTP:worker线程配置文件设置线程配置文件,如下所示: <http:listener-config name="HTTP_Listener_Configuration" host="0.0.0.0" port="8081" doc:name="HTTP Listener Configu

我正试图控制Mule中传出HTTP连接的maxThreadsActive和maxThreadsIdle的数量

设置默认线程配置文件不会影响分配给HTTP请求程序的线程数量

对于HTTP侦听器,可以通过HTTP:worker线程配置文件设置线程配置文件,如下所示:

<http:listener-config name="HTTP_Listener_Configuration" host="0.0.0.0" port="8081" doc:name="HTTP Listener Configuration">
    <http:worker-threading-profile maxThreadsActive="2" maxThreadsIdle="1" threadTTL="60000"/>
</http:listener-config>

但是我找不到在http:request元素上应用线程配置文件的方法

除此之外,我想知道本例中的http:worker线程配置文件是如何为侦听器工作的,当我使用配置文件器(VisualVM)时,我没有看到为http侦听器分配的线程数量有任何变化

关于HTTP端点的线程以及如何控制和验证它们,有什么想法吗

下面的屏幕截图来自一个简单的测试应用程序,其中应用了如上所述的线程配置文件

同一个应用程序有一个简单的http:request配置,对于出站http连接(请求者),我总是得到以下线程数:


我自己从未尝试过,但研究和培训中的一些信息表明:如果您的流使用的是Mule根据您的消息源和流行为设置的,则处理在同一个线程中完成。这可能解释了为什么在分配给HTTP侦听器的线程数量上看不到任何变化。如果消息源是request-response,则流被设置为synchronous——消息的发送者期望响应,或者流涉及到一个请求


否则,Mule将流设置为队列异步。在本例中,使用流的properties视图设置线程(在Studio中,选择流本身并在properties中查找处理策略)。设置流的属性,因为您没有为HTTP请求者afaik设置线程。

我自己从未尝试过,但研究和培训中的一些信息表明:如果您的流使用的是一个,Mule会根据您的消息源和流行为设置,处理将在同一个线程中完成。这可能解释了为什么在分配给HTTP侦听器的线程数量上看不到任何变化。如果消息源是request-response,则流被设置为synchronous——消息的发送者期望响应,或者流涉及到一个请求

否则,Mule将流设置为队列异步。在本例中,使用流的properties视图设置线程(在Studio中,选择流本身并在properties中查找处理策略)。设置流的属性,因为不为HTTP请求程序afaik设置线程