簡體   English   中英

ule子ESB。 如何在“流程”中的會話中保存變量值?

[英]Mule ESB. How to Save variables value on the session in the “flow”?

ule子ESB。 如何在“流”中的會話上保存變量值?

我的xml

    <tcp:connector name="TCP1" doc:name="TCP connector" clientSoTimeout="1000000" 
    receiveBacklog="0" receiveBufferSize="0" sendBufferSize="0" serverSoTimeout="1000000" 
    socketSoLinger="0" validateConnections="true"  >
    <tcp:direct-protocol payloadOnly="true"/>
</tcp:connector>
 <flow name="tcp_testFlow2" doc:name="tcp_testFlow2">
    <tcp:inbound-endpoint exchange-pattern="request-response" address="tcp://10.0.1.4:2222" responseTimeout="10000"  connector-ref="TCP"   doc:name="TCP"/>
    <logger message="begin #[sessionVars['id_device']] - #[flowVars['id_dev_var']]" level="INFO" doc:name="Copy_of_Copy_of_Logger"/>
    <choice doc:name="Choice">
        <when expression="sessionVars['id_device']&gt;0">
            <logger message="choice #[sessionVars['id_device']] - #[flowVars['id_dev_var']]" level="INFO" doc:name="Logger"/>
        </when>
        <otherwise>
            <set-session-variable doc:name="Session Variable" value="10" variableName="id_device"/>
            <set-variable variableName="id_dev_var" value="10" doc:name="Variable"/>
        </otherwise>
    </choice>
    <logger message="end #[sessionVars['id_device']] - #[flowVars['id_dev_var']]" level="INFO" doc:name="Copy_of_Logger"/>
    </flow>

在控制台中,我看到以下內容:

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ Started app 'tst_tcp'                                    +
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
----------
INFO  2014-03-26 16:17:31,077 [[tst_tcp].TCP.receiver.02] org.mule.api.processor.LoggerMessageProcessor: begin null - null
----------
INFO  2014-03-26 16:17:31,081 [[tst_tcp].TCP.receiver.02] org.mule.api.processor.LoggerMessageProcessor: end 10 - 10
----------
INFO  2014-03-26 16:17:32,090 [[tst_tcp].TCP.receiver.02] org.mule.api.processor.LoggerMessageProcessor: begin null - null
----------
INFO  2014-03-26 16:17:32,092 [[tst_tcp].TCP.receiver.02] org.mule.api.processor.LoggerMessageProcessor: end 10 - 10
----------
INFO  2014-03-26 16:17:33,136 [[tst_tcp].TCP.receiver.02] org.mule.api.processor.LoggerMessageProcessor: begin null - null
----------
INFO  2014-03-26 16:17:33,140 [[tst_tcp].TCP.receiver.02] 
org.mule.api.processor.LoggerMessageProcessor: end 10 - 10
----------

但我想要

INFO  2014-03-26 16:17:33,136 [[tst_tcp].TCP.receiver.02] org.mule.api.processor.LoggerMessageProcessor: **begin 10 - 10**
----------
INFO  2014-03-26 16:17:33,140 [[tst_tcp].TCP.receiver.02] 
org.mule.api.processor.LoggerMessageProcessor: end 10 - 10

我怎樣才能做到這一點? 請幫忙 :)

在設置之前,您無法在流中檢索會話變量。 使用對象存儲模塊在調用/流實例之間持久存儲數據。

試用“設置會話變量”,以便創建的變量作用域跨多個流。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM