我正在尝试比较mule表达式中的java对象值,如下所示
#[message.EventHandlerMessage.eventId ==' SEND_NOTIFICATION']
上述表达式失败,执行表达式" message.EventHandlerMessage.eventId ==' SEND_IMEX'"失败。 (org.mule.api.expression.ExpressionRuntimeException)。消息有效内容的类型为:EventHandlerMessage(org.mule.api.MessagingException)
带有Logger组件的LoggerMessageProcessor- INFO - - - message =" EventHandlerMessage [refId = 10002,eventId = SEND_NOTIFICATION,eventRefNo = 10000000001212]"
如何将Eventhandler消息中的eventid与mule表达式进行比较?
答案 0 :(得分:0)
为什么你的错误在你的比较中显示“message.EventHandlerMessage.eventId =='SEND_IMEX'”,如#[message.EventHandlerMessage.eventId =='SEND_NOTIFICATION']。
在尝试比较之前,尝试使用MEL打印该值并查看它是否正在打印,然后您可以进行比较。
答案 1 :(得分:0)
消息上下文中没有属性message.EventHandlerMessage
。您可以在message
上访问以下属性:http://www.mulesoft.org/docs/site/current3/apidocs/org/mule/el/context/MessageContext.html
如果您的有效负载是EventHandlerMessage.class
的实例,请尝试使用此代码:
#[message.payload.eventId]