从线程中的任意位置访问 Mule 消息

Access Mule Message from arbitrary place in a thread

使用 Mule ESB,是否可以从任意 class 获取该线程的当前 mule 消息的句柄? 例如,如果我创建自定义 log4j appender,它能否访问 mule 消息并从中提取数据?

是的,通过使用 RequestContext.getEvent().getMessage() (javadoc)。

是的,它已被弃用,并带有以下警告:

If access to MuleEvent or MuleMessage is required, then implement a MessageProcessor or Callable instead

但这并不总是可能的。所以使用这个静态助手仍然是你最好的选择。