看来,通道名称与应用程序包装器的toString()结果连接在一起,以创建实际的通道名称。
根据抛出的异常,通道的名称是:
org.springframework.web.context.support.AnnotationConfigWebApplicationContext@78e22c75.outbound-requests
我的代码是:
@Bean(name="outbound-requests")
public MessageChannel outboundRequestsChannel() {
MessageChannel result = new DirectChannel();
return result;
}
/**
* 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
在任何地方或终端已经停止。DirectChannel
是一种通道实现,要求用户在将消息发送到此通道之前处于活动状态。我回答了你的所有问题,但目前还不清楚你追求与我们分享所有这些信息的目标是什么。
用两个词来说:有这个频道的订阅者,你的Dispatcher has no subscribers for channel
会去!换句话说,它是关于@ServiceActivator
,@Transformer
或相关的XML配置,甚至是Java DSL IntegrationFlow
。
为了解决您的实际问题,我们需要在outbound-requests
通道定义周围看到更多配置。