Mule选择路线取决于有效载荷类型,即对象类型?

Mule选择路线取决于有效载荷类型,即对象类型?,mule,Mule,我可以根据有效载荷选择路线。有效负载可以是列表、映射或字符串。有效负载必须根据有效负载类型进行识别和路由。我认为您需要类似的东西 <choice doc:name="Choice"> <when expression="#[payload is List]"> <logger level="INFO" message="i am list" doc:name="Logger"/> </when>

我可以根据有效载荷选择路线。有效负载可以是列表、映射或字符串。有效负载必须根据有效负载类型进行识别和路由。

我认为您需要类似的东西

<choice doc:name="Choice">
        <when expression="#[payload is List]">
            <logger level="INFO" message="i am list" doc:name="Logger"/>
        </when>
        <when expression="#[payload is Map]">
            <logger level="INFO" message="i am map" doc:name="Logger"/>
        </when>
        <when expression="#[payload is String]">
            <logger level="INFO" message="i am string" doc:name="Logger"/>
        </when>
        <otherwise> 
            <logger message="class doesnt match with [list, map, string]" level="INFO" doc:name="Logger"/>  
        </otherwise>  
    </choice>

我确实同意Eddú的回答,但我会添加一条其他路径。如果您不这样做,并得到不同于列表映射或字符串的内容,您将得到相当隐晦的错误:

org.mule.api.routing.RoutePathNotFoundException:无法处理消息,因为未找到与任何筛选器匹配的路由,并且未定义默认路由。未能通过终结点路由事件:ChoiceRouter[流构造=testNull,启动=true]。消息负载的类型为:NullPayload