У меня возникла проблема с настройкой имени входного канала при использовании потока Spring Cloud azure связыватель концентратора событий
spring-cloud- azure -eventhubs-stream-binder / 1.2.6
Когда я использую интерфейс Sink, предоставляемый весенним облаком, например, :
@EnableBinding(Sink::class)
internal class SomeListener{
@StreamListener(Sink.INPUT)
fun listener(
message: GenericMessage<MyMessage>
) {
logger.trace("Got message")
}
}
с такими свойствами приложения:
spring:
cloud:
azure:
eventhub:
connection-string: ...
checkpoint-access-key: ...
checkpoint-storage-account: ...
stream:
eventhub:
bindings:
input:
consumer:
checkpoint-mode: BATCH
bindings:
input:
destination: test
group: $Default
binder: eventhub
Я могу получать сообщения без проблем .
Но когда я хочу использовать такой пользовательский канал:
internal interface CustomSink {
@Output(INPUT)
fun input(): SubscribableChannel
companion object {
const val INPUT = "custom-input"
}
}
@EnableBinding(CustomSink::class)
internal class SomeEventSinkListener{
@StreamListener(CustomSink.INPUT)
fun listener(
message: GenericMessage<MyMessage>
) {
logger.trace("Got message")
}
}
и такие свойства:
spring:
cloud:
azure:
eventhub:
connection-string: <secret>
checkpoint-access-key: <secret>
checkpoint-storage-account: <secret>
stream:
eventhub:
bindings:
custom-input:
consumer:
checkpoint-mode: BATCH
bindings:
custom-input:
destination: test
group: $Default
binder: eventhub
I не получил сообщений .
Единственное, что изменилось, это название канала. Я не знаю, что не так. Я могу без проблем настроить имя выходного канала, но входные каналы работают, только если я использую привязку интерфейса Sink. Я хотел бы в будущем слушать на двух разных направлениях, поэтому мне нужно настраивать каналы ввода.
Я ценю любую помощь. Спасибо.