2017-08-06 51 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"/> 

我希望這有助於。