在mule ESB上从java中的会话读取变量

时间:2015-02-24 09:52:11

标签: java mule session-variables

我正在开发Mule ESB中的书店,我需要如何在java中读取会话变量。我的情况是我查询我的MYSQL书的价格。我将此结果保存在会话变量中。要打印帐单,我会显示包含数量和价格的书籍列表。我需要收回价格的价值。

任何解决方案? 感谢。

2 个答案:

答案 0 :(得分:1)

要访问任何变量,您首先需要访问该消息。这可以通过使用扩展AbstractMessageTransformer的变换器或使用实现Callable的组件来完成。一旦你有了这个,你可以使用类似下面的东西:

public class TestComponent implements Callable {

    @Override
    public Object onCall(MuleEventContext eventContext) throws Exception {

         MuleMessage message = eventContext.getMessage();
         String sessionProperty = message.getProperty("mySessionProperty", PropertyScope.SESSION);
         ....
    }
}

请注意,会话属性可能会影响内存,因此您只应在必要时使用它们。

答案 1 :(得分:0)

您需要的是实现一个实现callable接口的组件。从事件上下文中,您可以执行获取消息,然后get session property