嗨,我有一个复杂的流程,其中我的有效负载与原始有效负载一起被修改。为了获得原始有效负载,我将初始有效负载存储在一个mule session
变量中,以便我可以在流程中使用该变量(原始有效负载)。这个过程正在运行,但我担心我的 mule 会话变量线程安全吗?
我尝试选择调用,出站范围,但我发现经过一些处理和转换后,变量值在流程中变为空。
任何投入将不胜感激。谢谢
嗨,我有一个复杂的流程,其中我的有效负载与原始有效负载一起被修改。为了获得原始有效负载,我将初始有效负载存储在一个mule session
变量中,以便我可以在流程中使用该变量(原始有效负载)。这个过程正在运行,但我担心我的 mule 会话变量线程安全吗?
我尝试选择调用,出站范围,但我发现经过一些处理和转换后,变量值在流程中变为空。
任何投入将不胜感激。谢谢
mule 消息一次由一个线程处理,因此 mule 消息中的变量或属性(任何范围)不需要是线程安全的。如果您想在单个流中使用属性,调用范围应该足够了。
显然,会话变量不是线程安全的。我在具有拆分器和聚合器的流中使用了会话变量,用于并行执行一段代码(修改相同的会话变量)。发现它覆盖了splitter线程里面的数据!
会话变量用于存储在流通过可能是任何连接器的传输屏障后需要引用的值。在同一个流会话变量中是线程安全的。