我有一个以VM开头的请求 - 响应流程。有没有办法限制流量可以并行处理的一些请求?我在3.7。谢谢。
聚苯乙烯。我尝试在VM连接器中使用maxThreadsActive,但它仍然在“源”线程中运行。这就是VM连接器的定义方式:
<vm:connector name="myvm" validateConnections="true" doc:name="VM">
<receiver-threading-profile maxThreadsActive="1"/>
<vm:queue-profile>
<default-in-memory-queue-store/>
</vm:queue-profile>
</vm:connector>
然后在流程中:
<vm:inbound-endpoint exchange-pattern="request-response" path="myqueue" connector-ref="myvm" doc:name="getevent">
<vm:transaction action="NONE"/>
</vm:inbound-endpoint>
这是从“源”流程中调用它的方式:
<vm:outbound-endpoint exchange-pattern="request-response" path="myqueue" connector-ref="myvm" doc:name="VM">
<vm:transaction action="NONE"/>
</vm:outbound-endpoint>
答案 0 :(得分:1)
您可以将连接器或入站端点的接收器线程数配置为:
<vm:connector name="VM" validateConnections="true">
<receiver-threading-profile maxThreadsActive="1"/>
</vm:connector>
<flow name="testFlow1">
<vm:inbound-endpoint path="in" connector-ref="VM"/>
<echo-component/>
</flow>
答案 1 :(得分:0)
您可以使用线程配置文件控制此操作。例如:
<configuration >
<default-threading-profile maxBufferSize="100" maxThreadsActive="20" maxThreadsIdle="10" threadTTL="60000" poolExhaustedAction="RUN" />
</configuration>
您可以在此处阅读更多内容:https://docs.mulesoft.com/mule-user-guide/v/3.7/tuning-performance