Variabile del flusso della mulo VS Sessione delle prestazioni variabili
-
20-12-2019 - |
Domanda
Oltre alle differenze di funzionalità tra la variabile di flusso e la variabile di sessione come descritto nella pagina Muloft, ci sono delle differenze di prestazioni significative da notare durante l'utilizzo dei due?
Per il mio progetto, utilizzando le variabili di flusso e sessione funziona perfettamente bene.Pertanto, ho bisogno di decidere su quale utilizzare.
Soluzione
Le variabili di sessione sono costantemente serializzate e deseriabilite quando i messaggi incrociano i limiti del trasporto.
Ma, stai dicendo che è possibile utilizzare le variabili di flusso o sessione in modo intercambiabile nel tuo progetto, quindi significa che non hai alcun limite di trasporto (altrimenti perdere le variabili di flusso).
In tal caso, sia le variabili di flusso e sessione eseguono lo stesso: sono solo proprietà dell'evento.
Si noti che le variabili di sessione tendono a essere trapelate tramite endpoint HTTP, quindi fai attenzione al loro utilizzo.
Altri suggerimenti
<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns:http="http://www.mulesoft.org/schema/mule/http"
xmlns:tracking="http://www.mulesoft.org/schema/mule/ee/tracking"
xmlns="http://www.mulesoft.org/schema/mule/core"
xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
xmlns:spring="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-current.xsd
http://www.mulesoft.org/schema/mule/core
http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http
http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/ee/tracking http://www.mulesoft.org/schema/mule/ee/tracking/current/mule-tracking-ee.xsd">
<http:request-config name="HTTP_Request_Configuration" host="localhost" port="8034" doc:name="HTTP Request Configuration"/>
<flow name="understandingvariablesFlow">
<http:listener config-ref="HTTP_Listener_Configuration" path="/vars" doc:name="HTTP"/>
<set-variable variableName="flv" value="flowVariable exists" doc:name="LocalVariable"/>
<set-session-variable variableName="sessVar" value="sessionVariable exists" doc:name="Session Variable"/>
<flow-ref name="practiceSub_Flow" doc:name="practiceSub_Flow"/>
<flow-ref name="localVarible" doc:name="localVarible"/>
<flow-ref name="practiceAnotherFLow" doc:name="practiceAnotherFLow"/>
<http:request config-ref="HTTP_Request_Configuration" path="/localvar" method="POST" doc:name="HTTP"/>
</flow>
<flow name="localVarible">
<http:listener config-ref="HTTP_Listener_Configuration" path="/localvar" doc:name="HTTP"/>
<logger message="#[flowVars.flv]" level="INFO" doc:name="LocalVarible Value"/>
<logger message="#[sessionVars.sessVar]" level="INFO" doc:name="Session Var"/>
</flow>
</mule>
-------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns:tracking="http://www.mulesoft.org/schema/mule/ee/tracking" xmlns:dw="http://www.mulesoft.org/schema/mule/ee/dw" xmlns:http="http://www.mulesoft.org/schema/mule/http" xmlns:secure-property-placeholder="http://www.mulesoft.org/schema/mule/secure-property-placeholder" xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
xmlns:spring="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/secure-property-placeholder http://www.mulesoft.org/schema/mule/secure-property-placeholder/current/mule-secure-property-placeholder.xsd
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/ee/dw http://www.mulesoft.org/schema/mule/ee/dw/current/dw.xsd
http://www.mulesoft.org/schema/mule/ee/tracking http://www.mulesoft.org/schema/mule/ee/tracking/current/mule-tracking-ee.xsd">
<http:listener-config name="HTTP_Listener_Configuration" host="0.0.0.0" port="8034" doc:name="HTTP Listener Configuration"/>
<sub-flow name="practiceSub_Flow">
<logger message="Another flow's sub flowPractice #[flowVars.flv] and #[sessionVars.sessVar]" level="INFO" doc:name="Sub flow"/>
</sub-flow>
<flow name="practiceAnotherFLow">
<logger message="Another xml file flow's flowPractice #[flowVars.flv] and #[sessionVars.sessVar]" level="INFO" doc:name="Main Flow"/>
</flow>
</mule>
.