似乎通道名称正在与应用程序包装程序的toString()结果并置以创建实际的通道名称。
根据抛出的异常,通道的名称为 :
ng serve
我的代码是:
org.springframework.web.context.support.AnnotationConfigWebApplicationContext@78e22c75.outbound-requests
答案 0 :(得分:2)
是的,这很重要。您的应用程序可能具有多个应用程序上下文。假设父母/子女关系和您的“子女”可能具有相同的bean名称。因此,仅登录一个没有应用程序上下文ID的bean名称。相对的代码是这样的:
/**
* Returns the fully qualified channel name including the application context
* id, if available.
*
* @return The name.
*/
public String getFullChannelName() {
if (this.fullChannelName == null) {
String contextId = getApplicationContextId();
String componentName = getComponentName();
componentName = (StringUtils.hasText(contextId) ? contextId + "." : "") +
(StringUtils.hasText(componentName) ? componentName : "unknown.channel.name");
this.fullChannelName = componentName;
}
return this.fullChannelName;
}
不,不是。这样的异常意味着在发送消息的那一刻,该频道没有订阅的端点。否则,您根本就不会将此频道作为input
频道,或者端点之间已经停止。
研究在何处将此通道用作输入通道,或者如何停止可能的端点。
从Framework的角度来看,无法确定您要对此频道执行的操作。 DirectChannel
是一种通道实现,它要求订阅者在将消息发送到该通道之前处于活动状态。
我回答了您的所有问题,但仍不清楚您追求与我们分享所有这些信息的目的是什么。
用两个词表示:拥有该频道的订阅者,您的Dispatcher has no subscribers for channel
将会加入!换句话说,它与@ServiceActivator
,@Transformer
或相关的XML配置,甚至Java DSL IntegrationFlow
有关。
要解决您的实际问题,我们需要查看有关outbound-requests
渠道定义的更多配置。