【发布时间】:2014-04-01 08:33:07
【问题描述】:
在 Mule ESB 自定义 java 转换器中,如何从 java 代码中评估表达式?
MuleContext 有一个表达式管理器和一个运行良好的评估方法。但是,接受 MuleMessage 的签名已弃用,非弃用版本需要 MuleEvent。转换器没有 MuleEvent,只有 MuleMessage。
基本上我想用的是这个:
muleContext.getExpressionManager().evaluate(someValue, message);
访问 MuleEvent 的另一种方法是使用静态 RequestContext.getEvent()。然而,这也被弃用了。我已经成功地使用ThreadLocal<MuleEvent> 创建了一个静态变量,通过 MessageProcessor 在流程的早期注入 MuleEvent,但感觉完全错误,可能不是最安全的方法。
我错过了什么吗?还有其他方法吗? java 文档中已弃用的注释中没有太多关于迁移路径的指导。
【问题讨论】:
标签: mule