Mule Flow variable VS Session Performance variable de session
-
20-12-2019 - |
Question
Outre les différences de fonctionnalités entre la variable de débit et la variable de session comme décrit dans la page Mullesoft, existe-t-il des différences de performances significatives à noter tout en utilisant les deux?
Pour mon projet, l'utilisation de variables de flux et de session fonctionne parfaitement bien.Par conséquent, j'ai besoin de décider sur lequel utiliser.
La solution
Les variables de session sont constamment sérialisées et désérialisées lorsque des messages contournent les limites du transport.
Mais, vous dites que vous pouvez utiliser des variables de flux ou de session interchangeables dans votre projet afin que vous ne possédez aucune limite de transport (sinon vous perdriez les variables de flux).
Dans ce cas, les variables de flux et de session sont les mêmes: elles ne sont que des propriétés de l'événement.
Notez que les variables de session ont tendance à être divulguées via des points d'extrémité HTTP, soyez donc prudent avec leur utilisation.
Autres conseils
<?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>