不支持发送,因为未配置任何请求通道



我正在尝试配置与网关的集成流。在kotlin上使用Java DSL。

网关配置:

@MessagingGateway(name = "tdiOutSenderGateway")
interface TdiOutSenderGateway {
fun send(packet: PhasorEnricher.Packet)
}

流量配置:

@Bean
open fun tdiOutSendFlow() = IntegrationFlows
.from(TdiOutSenderGateway::class.java)
.transform(tdiOutSenderRouter())
.get()!!

获得send is not supported, because no request channel has been configureddocs:request通道将自动配置。

  • @IntegrationComponentScan存在
  • https://docs.spring.io/spring-integration/reference/htmlsingle/#java-dsl网关已读取并用作基础
  • 仔细检查:我正使用这个网关

我错过了其他设置吗?

  1. 当然,转换应该返回一些东西,应该有routehandle

  2. 但即使我修复了我面临的问题:Void-kotlin函数返回Unit。Spring集成检查Unit == null(即false(,尝试查找下一个通道并抛出错误。修复方法是使用kotlin lambda并显式返回null

  3. 在与Spring Integration和kotlin合作了8个月后,我决定尝试为Spring Integration创建kotlin DSL(https://github.com/spring-projects/spring-integration/issues/3016)

Kotlin单位:https://kotlinlang.org/docs/reference/functions.html#unit-返回功能


p。S.:当然我早就解决了,不是8个月以后。

相关内容

  • 没有找到相关文章

最新更新