Ai đó có thể giải thích cách chiến lược xử lý Mule hoạt động khi một luồng đang gọi một chiến dịch khác với luồng-ref?Chiến lược xử lý dòng chảy và xử lý
Trường hợp 1.
Hãy nói rằng chúng tôi có 2 dòng: flowA và flowB, với các chiến lược xử lý procA và procB, cả hai đều không đồng bộ nhưng procA có 10 chủ đề cho phép trong khi procB chỉ có 1.
<queued-asynchronous-processing-strategy name="procA" maxThreads="10" doc:name="procA"/>
<queued-asynchronous-processing-strategy name="procB" maxThreads="1" doc:name="procB"/>
flowA được đọc từ một hàng đợi và gọi flowB với
<flow-ref name="flowB" doc:name="flowB"/>
sẽ là một hàng đợi tạo ra trong trường hợp này giữa flowA và flowB để tất cả các flowB gọi exe cắt từng sợi một?
Hoặc luồngB sẽ tuân theo chiến lược flowA với 10 tin nhắn được xử lý cùng một lúc?
Trường hợp 2.
flowA là một dòng chảy đồng bộ đọc từ một hàng đợi. Nó đang gọi một flowB không đồng bộ với 1 chủ đề tối đa được phép như thế này:
<queued-asynchronous-processing-strategy name="procB" maxThreads="1" doc:name="procB"/>
Khối async có nó chiến lược riêng procC với 10 chủ đề cho phép:
<queued-asynchronous-processing-strategy name="procC" maxThreads="10" doc:name="procC"/>
flowA đang kêu gọi flowB như thế này:
<async doc:name="Async" processingStrategy="procC">
<flow-ref name="flowB" doc:name="flowB"/>
</async>
Câu hỏi tương tự:
Sẽ có hàng đợi khác được tạo trong trường hợp này giữa async b khóa và lưu lượngB để tất cả các luồng lệnh B được thực thi trong một chuỗi một?
Hoặc luồngB sẽ theo chiến lược procC với 10 thông báo được xử lý cùng một lúc?