Pergunta

Além das diferenças de funcionalidade entre a variável de fluxo e a variável de sessão, conforme descrito na página Mulesoft, há alguma diferença significativa de desempenho a ser observada ao usar as duas?

Para o meu projeto, usar variáveis ​​de fluxo e sessão funciona perfeitamente bem.Portanto, preciso decidir qual usar.

Foi útil?

Solução

As variáveis de sessão são constantemente serializadas e desserializadas quando as mensagens cruzam as fronteiras de transporte.

Mas, você está dizendo que você pode usar variáveis de fluxo ou sessão de forma intercambiável em seu projeto, então significa que você não tem nenhum limite de transporte (caso contrário, você perderia as variáveis de fluxo).

Nesse caso, ambas as variáveis de fluxo e sessão executam o mesmo: são apenas propriedades do evento.

Observe que as variáveis da sessão tendem a vazar por meio de endpoints http, então tenha cuidado com o uso.

Outras dicas

<?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>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top