2017-08-06 67 views
0

我在会议流var设置为true A.我有一个轮询在另一个流程B,定期检查会话变量是否为真,但我总是变空。为什么流B中的轮询会话var值为null?Mule会话变量空轮询

<http:listener-config name="HTTP_Listener_Configuration" host="0.0.0.0" port="8081" doc:name="HTTP Listener Configuration"/> 
<flow name="poll-session-varFlow"> 
    <http:listener config-ref="HTTP_Listener_Configuration" path="/sessionvar" doc:name="HTTP"/> 
    <logger message="In flow A..." level="INFO" doc:name="Logger"/> 
    <set-session-variable variableName="sVar" value="#[true]" doc:name="Session Variable"/> 
</flow> 
<flow name="poll-session-varFlow1"> 
    <poll doc:name="Poll"> 
     <logger message="Polling..." level="INFO" doc:name="Logger"/> 
    </poll> 
    <logger message="value of sVar : #[sessionVars.sVar]" level="INFO" doc:name="Logger"/> 
</flow> 

回答

1

从骡Variable Scope DOC:与会话可变变压器设置

Session变量持续整个生命周期的消息,而不管传送的障碍。

除非你以某种方式在流程B,从流量生成询问报文,则无法访问从流程A.会话变量会话瓦尔可能是零,因为流B投票产生有其自己的一套会议的一个新的消息瓦尔。

0

你能分享你如何设置变量吗? 这就是我如何使用一个变量,然后引用一个使用它的流。

<set-variable variableName="ImportMonth" value="#[payload]" doc:name="Set Month"/> 
<flow-ref name="another-flow" doc:name="another-flow"/> 

这是我如何验证,有一些是在该变量在“另一个流”

<logger message="#[flowVars['ImportMonth']]" level="INFO" doc:name="Logger"/> 

我希望这有助于。