Mule:在调用组件内设置会话变量

Mule:在调用组件内设置会话变量,mule,mule-studio,mule-component,Mule,Mule Studio,Mule Component,在用于调用Springbean特定方法的调用组件内设置会话变量的最佳方法 <invoke object-ref="serviceBean" method="asyncFlowMethod" doc:name="Invoke3" methodArguments="#[sessionVars['event']]"/> public void asyncFlowMethod(String event) { Inside this method i need to se

在用于调用Springbean特定方法的调用组件内设置会话变量的最佳方法

<invoke object-ref="serviceBean" method="asyncFlowMethod" doc:name="Invoke3" methodArguments="#[sessionVars['event']]"/>


public void asyncFlowMethod(String event) {

        Inside this method i need to set a session variable 


    }

公共void asyncFlowMethod(字符串事件){
在这个方法中,我需要设置一个会话变量
}

我建议您更改接收多消息的方法,并使用它访问会话变量:

public void asyncFlowMethod(MuleMessage message) {

        String event = message.getProperty("event", PropertyScope.SESSION);

        message.setProperty("event", event + "test", PropertyScope.SESSION);


    }
并使用

<invoke object-ref="serviceBean" method="asyncFlowMethod" doc:name="Invoke3" methodArguments="#[message]"/>


#[message]是messagecontext,而不是MuleMessageMessageContext出站属性,即使在方法中设置的属性在该方法之外不可见。@NAZARREHMAN尝试@DavidDossot在此提出的解决方案,以访问muleeEvent
RequestContext.getEvent()