我在主流末尾有一个异步作用域。异步作用域流引用了三个过程:日志记录,审计和入站有效负载操纵。问题是,现在我需要修改主要流程并添加响应“机制”。响应内容取决于Web服务响应,该响应在异步作用域流程之一中。因此,我需要以某种方式“等待”每个过程在异步作用域中完成以发送正确的响应。可以尝试将线程设置为睡眠状态,但这对我而言不是一个好的解决方案。 Mule注册表中是否有一些变量/属性可以跟踪异步处理或其他内容?目前,睡眠有多种可能,但这很脆弱,总体上不是一个好的解决方案。
看起来Async范围不再适合该用例。它并不意味着等待或返回,因此您需要将其删除。您可以只在流中执行请求并根据需要保存响应。
我强烈建议您不要将任何sleep()用作同步方法。根本不是一个解决方案。时间的任何改变都会破坏它。