2017-09-08 6 views
0

「NULL相関が許可されていません」というエラーが表示されます。 CorrelationStrategyが失敗している可能性はありますか?スプリング統合ヌル相関は許可されません。 CorrelationStrategyが失敗している可能性はありますか?

このフォーラムのスレッドは、以下のようなもので解決するようでしたが、そのアプローチは私にとっては役に立たない、http://forum.spring.io/forum/spring-projects/integration/102054-aggregator-correlation-strategy-failing

私の理解では、inbound-streaming-channel-adapterがFILE_NAMEをヘッダー値として配置しています。私はそれに参加したいと思います。

<int-ftp:inbound-streaming-channel-adapter 
    auto-startup="true" id="ftpListener" channel="ftpChannel" 
    session-factory="ftpSessionFactory" remote-directory="/export/home/udyj" 
    filename-pattern="test1.txt"> 
    <integration:poller fixed-rate="5000" 
     max-messages-per-poll="-1" /> 
</int-ftp:inbound-streaming-channel-adapter> 

<int-ftp:inbound-streaming-channel-adapter 
    auto-startup="true" id="ftpListener2" channel="ftpChannel" 
    session-factory="ftpSessionFactory" remote-directory="/export/home/udyj" 
    filename-pattern="test2.txt"> 
    <integration:poller fixed-rate="5000" 
     max-messages-per-poll="-1" /> 
</int-ftp:inbound-streaming-channel-adapter> 

<bean id="correlationStrategy" 
    class="org.springframework.integration.aggregator.HeaderAttributeCorrelationStrategy"> 
    <constructor-arg value="FILE_NAME.substring(0,3)" /> 
</bean> 
<integration:aggregator id="nuggetAggregator" 
    input-channel="ftpChannel" output-channel="sendMQDistributionChannel" 
    correlation-strategy="correlationStrategy"> 
</integration:aggregator> 

答えて

1

見て、あなたは間違いなく、ヘッダー名を取得するために期待するもの、HeaderAttributeCorrelationStrategyを言います。同じように、式のように見えるFILE_NAME.substring(0,3)というヘッダー名を指定します。実際にこのようなヘッダーがないため、nullになります。あなたが式を評価する場合

、代わりにExpressionEvaluatingCorrelationStrategyを使用するように考慮してください。

<bean id="correlationStrategy" 
    class="org.springframework.integration.aggregator.ExpressionEvaluatingCorrelationStrategy"> 
    <constructor-arg value="headers.file_name.substring(0,3)" /> 
</bean> 
関連する問題