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



我正在Mule ESB中开发一个书店,我需要如何读取java中的会话变量。我的情况是我在MYSQL上查询这本书的价格。我将此结果保存在会话变量中。为了打印账单,我出示了书籍清单,上面有数量和价格。我需要收回价格的价值。

有什么解决方案吗?谢谢

为了访问任何变量,您需要首先访问消息。这可以通过使用扩展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);
         ....
    }
}

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

您需要的是实现一个实现可调用接口的组件。您可以从事件上下文中获取消息,然后获取会话属性。

最新更新