【问题标题】:How to access Payload and MuleMessage in @Processor method如何在 @Processor 方法中访问 Payload 和 MuleMessage
【发布时间】:2013-03-07 18:20:30
【问题描述】:

我一直在使用 Mule Devkit 实现我的自定义处理器。

我使用“mule-devkit-archetype-generic”原型创建了项目。 它给了我带有注释“@Module”和“@Processor”的类

我可以将参数传递给我的处理器方法。

但我无法在 @Processor 方法中访问 MuleMessage 和 Payload。

我怎样才能做到这一点?

【问题讨论】:

    标签: java customization mule mule-studio


    【解决方案1】:

    要访问有效负载,请使用:

    @Payload final DESIRED_TYPE payload
    

    DESIRED_TYPE 替换为您想要的类型,Mule 会自动将当前有效负载转换为所需的类型。

    例如,这给你一个字节有效载荷:

    @Payload final byte[] payload
    

    要访问 MuleMessage,您实际上是访问 MuleEvent 并从中获取消息。为此,您需要在 @Processor 方法上添加 @Inject 注释,并在处理器方法中添加 MuleEvent muleEvent 参数。

    使用 Mule 3.8.1 更新 2017/08/31

    如果您尝试使用 @Inject 注释 @Processor,DevKit 现在会生成编译错误。错误消息指出,如果您只是将MuleEventMuleMessage 参数添加到您的@Processor 方法,DevKit 将正确地注入参数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-06-22
      • 1970-01-01
      • 1970-01-01
      • 2019-03-15
      • 1970-01-01
      • 2018-09-28
      • 1970-01-01
      相关资源
      最近更新 更多