【问题标题】:Spring Integration: How to get value from util:map into SI's RouterSpring Integration:如何从 util:map 中获取价值到 SI 的路由器中
【发布时间】:2015-04-14 07:56:18
【问题描述】:

我的配置如下:

我在路由器内部使用 SpEL 从地图中获取值。

    <util:map id="routeConfig">
        <entry key="Default" value="not configured" />
        <entry key="GB22XXX" value="LON" />       
        <entry key="AEADXXX" value="ME" />
        <entry key="HBXXXX" value="ME" />
        <entry key="EBHBXBAO" value="ME" />
</util:map>

<router input-channel="InputRoutingChannel" default-output-channel="testOutputChannel"  expression="@routeConfig.get('payload.getMsgHeader().getSourceSystem().substring(4, 12)')">
        <mapping value="LON" channel="MarshallerOutputChannel_lonme" />
        <mapping value="ME" channel="MarshallerOutputChannel_me" />
</router>

【问题讨论】:

    标签: spring spring-integration


    【解决方案1】:

    您的问题在这里:

    expression="@routeConfig.get('payload.getMsgHeader().getSourceSystem().substring(4, 12)')
    

    既然你处理了运行时Message,你真的不需要换行到literal。因此给你的答案是:

    expression="@routeConfig.get(payload.msgHeader.sourceSystem.substring(4, 12))
    

    【讨论】:

    • 现在我遇到以下错误:EL1008E:(pos 0): Field or property 'ERROR' cannot be found on object of type 'org.springframework.integration.message.GenericMessage' STACKTRACE : org.springframework.expression.spel.ast.PropertyOrFieldReference.readProperty(PropertyOrFieldReference.java:216) org.springframework.expression.spel.ast.PropertyOrFieldReference.getValueInternal(PropertyOrFieldReference.java:85)
    • 请分享整个 StackTrace 作为对您问题的编辑。对我来说似乎与 router 配置无关
    • 那是我的错,请忽略。如果我使用 SPEL 表达式总是返回 nullexpression="@routeConfig.get(payload.msgHeader.sourceSystem.substring(4, 12))
    • 好的。所以,请确保 payload.getMsgHeader().getSourceSystem().substring(4, 12) 不会返回 null
    • expression="@businessConfigReader.getGMGRouteForEntity(@routeConfig.get(payload.msgHeader.sourceSystem.substring(4, 12)))" 你能建议上面的表达有什么问题吗?
    猜你喜欢
    • 1970-01-01
    • 2017-12-23
    • 2019-05-18
    • 2014-03-31
    • 1970-01-01
    • 2017-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多