2

我有几个流程依赖于在一个流程中生成然后传递给另一个流程的会话变量。依赖两个异步流使用的会话变量是否安全?我想我不完全了解 mule 应用程序或给定 mule 消息中“sessionVars”的范围。

4

2 回答 2

3

mule 会话与跨线程共享的 Java EE 会话无关。mule 会话是 MuleMessage 的一部分,它们的工作原理在此处进行了说明,因此,如果您想在处理相同消息的多个流中共享某些内容,这是可行的方法。

相反,如果您正在寻找一种方法来存储处理消息A的流中的值并从处理消息B的流中选择该值,则您应该考虑将此值存储到对象存储中

于 2013-08-20T11:41:17.160 回答
0

我很确定会话变量会返回到请求-响应的 http 端点。这可能会暴露敏感数据。我正在尝试找到最初的提及和官方缓解策略,但尚未再次找到它。

但是一个简单的解决方案是在流的返回点将它们移除

编辑:找到我要找的东西......

` <http:connector name="NoSessionConnector">
      <service-overrides sessionHandler="org.mule.session.NullSessionHandler"/>
</http:connector>

`

在“HTTP 响应标头”下找到

http://www.mulesoft.org/documentation/display/current/HTTP+Transport+Reference

或者,您也可以创建自定义 SessionHandler

于 2013-10-10T00:17:00.017 回答