我一直在使用 Mule Devkit 实现我的自定义处理器。
我用“mule-devkit-archetype-generic”原型创建了项目。它给了我带有注释“@Module”和“@Processor”的课程
我可以将参数传递给我的处理器方法。
但是我无法在 @Processor 方法中访问 MuleMessage 和 Payload。
我怎样才能做到这一点?
我一直在使用 Mule Devkit 实现我的自定义处理器。
我用“mule-devkit-archetype-generic”原型创建了项目。它给了我带有注释“@Module”和“@Processor”的课程
我可以将参数传递给我的处理器方法。
但是我无法在 @Processor 方法中访问 MuleMessage 和 Payload。
我怎样才能做到这一点?
要访问有效负载,请使用:
@Payload final DESIRED_TYPE payload
替换DESIRED_TYPE
为您想要的类型,Mule 会将当前有效负载自动转换为所需的类型。
例如,这为您提供了一个字节有效负载:
@Payload final byte[] payload
要访问 MuleMessage,您实际上是访问 MuleEvent 并从中获取消息。为此,您需要在方法@Inject
上添加注释并向处理器方法@Processor
添加参数。MuleEvent muleEvent
使用 Mule 3.8.1 更新 2017/08/31
如果您尝试@Processor
使用@Inject
. 错误消息指出,如果您只是在方法中添加MuleEvent
或MuleMessage
参数@Processor
,DevKit 将正确注入参数。