我通常会收到有关未在STS Problems视图中定义nullChannel的警告:

 Referenced bean 'nullChannel' not found


但是,如果我在上下文文件中添加声明,例如<int:channel id="nullChannel" /><int:publish-subscribe-channel id="nullChannel">,则会得到:

java.lang.IllegalStateException: The bean name 'nullChannel' is reserved.


我想这是我可以放心忽略的警告,但是我通常会尝试将警告归零,所以我缺少什么吗?



更新

这些是警告所涉及的部分,将其删除使其消失:

<int:header-value-router input-channel="listOfMaps" header-name="transaction_type" resolution-required="false" default-output-channel="nullChannel">
    <int:mapping value="52" channel="requests52ListOfMaps"/>
</int:header-value-router>


<int:service-activator input-channel="httpRequestsSendsChannel" output-channel="nullChannel" ref="conversionController" method="enable52Delivery" />


<int:service-activator input-channel="httpRequestsDeletesChannel" output-channel="nullChannel" ref="inspector" method="inspect" />

最佳答案

我不确定为什么上周对我来说还可以(可能是飞行员错误),但是我现在得到了

<int:service-activator input-channel="errorChannel" output-channel="nullChannel" expression="foo" />


并且,如果我翻转输入/输出通道,警告将更改为errorChannel-之所以我们未收到输入通道警告,是因为STS大概知道我们会在需要时动态创建输入通道。

我猜STS只是不了解这些隐式bean。

我会问STS的家伙,我们是否可以提出一种方法,为他们提供隐式bean列表,以消除这些警告。

如果无法做到这一点,我们可以考虑放宽防止添加自定义nullChannel bean的规则。

关于java - 为什么我找不到引用的bean nullChannel?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50374406/

10-09 05:16