Spring integration 使用带有处理链的网关,Dispatcher没有订阅服务器错误

Spring integration 使用带有处理链的网关,Dispatcher没有订阅服务器错误,spring-integration,Spring Integration,我有以下配置,不确定是什么问题,我不断得到这个错误,感谢您的帮助,谢谢 <int:chain input-channel="incoming"> <int:splitter ref="split"/> <int:filter ref="filter" discard-channel="loggit" /> <int:payload-type-router default-out

我有以下配置,不确定是什么问题,我不断得到这个错误,感谢您的帮助,谢谢

    <int:chain input-channel="incoming">
        <int:splitter ref="split"/>
           <int:filter ref="filter" discard-channel="loggit" />
                <int:payload-type-router default-output-channel="loggit" >
                <int:mapping type="a.b.c" channel="channel1" />         
        </int:payload-type-router>      
   </int:chain>

   <int-jdbc:stored-proc-outbound-gateway 
                id="DB_POLLAR"
                data-source="dataSource"
                request-channel="channel1" 
                reply-channel="loggit"
                is-function="false"
                expect-single-result="false" 
                stored-procedure-name="PKG.proc_get">                   
                <int-jdbc:parameter name="rowid" expression="payload" />            
                <int-jdbc:returning-resultset name="ataset" row-mapper="dataMapper"/>       
                <int-jdbc:request-handler-advice-chain>
                    <bean class="com.a.b.c.DbCallAdvice" />
                </int-jdbc:request-handler-advice-chain>                
    </int-jdbc:stored-proc-outbound-gateway>

是一个
请求/回复
组件,因此如果目标过程返回某个内容,它将被包装到
回复消息
,框架将尝试将其发送到
输出(回复)-通道

因为您没有它,也没有
replyChannel
头,所以最后会出现
Dispatcher没有订户错误

如果您对该程序不感兴趣<代码>回复<代码>,请考虑使用

<int-jdbc:stored-proc-outbound-channel-adapter>


我有另一个存储的proc出站网关,它是通过有效负载类型路由器连接的,出于某种原因,它没有这个问题,非常困惑。我确实有reply channel=“loggit”在那里,或者我遗漏了什么?哦!很抱歉我明白了。您是否有订阅该
loggit
频道的组件?请显示,StackTrace在MatterHanks Artem上,loggit是记录通道适配器,现在打印。我能够解决这个问题,但我不知道为什么会发生这种情况。我在文件中定义了第三个,我还没有连接,但是我已经为这个设置了与生成错误的id相同的id。将其ID更改为其他内容修复了错误,如果您可以帮助了解其工作原理的话。Agr。。。是的,这是一个问题。当多个SpringBean具有相同的
id
时,只有最后一个获胜。因此,新的未完成组件会破坏您的正确组件。这就是为什么您的
channel1
引发该异常的原因,因为ApplicationContext没有用于该异常的使用者。再次感谢,顺便说一句,我的SP由于“包名应使用“.withCatalogName”单独指定而失败,但我在配置中看不到这样做的方法?