依赖会话变量来存储要在多个异步流之间共享的信息是否安全?

时间:2013-08-20 02:32:51

标签: mule mule-studio

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

2 个答案:

答案 0 :(得分:3)

mule会话与跨线程共享的Java EE会话无关。 mule会话是MuleMessage的一部分,它们如何工作解释here,因此,如果你想在多个流程中共享某些东西,处理相同的消息,那就是最佳选择。

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

答案 1 :(得分:0)

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

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

编辑: 找到了我想找的东西......

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

`

在'HTTP Response Header'

下找到

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

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