Весенняя интеграция Kotlin DSL MessageChannels.publishSubscribe - PullRequest
0 голосов
/ 19 мая 2018

Я пытаюсь работать с Kotlin для Spring Integration с Java DSL.

Из ссылки Java DSL Spring Integration на GitHub https://github.com/spring-projects/spring-integration-java-dsl/wiki/spring-integration-java-dsl-reference#message-channels Я получил этот фрагмент кода:

@Bean
public MessageChannel publishSubscribe() {
     return MessageChannels.publishSubscribe().get();
}

Когда я пытаюсь переписать это в Kotlin, это вызывает у меня некоторые проблемы:

Этот фрагмент кода ниже показывает ошибку Type inference failed: Not enough information to infer parameter S

@Bean
fun publishSubscribe(): MessageChannel {
    return MessageChannels.publishSubscribe().get()
}

Этот фрагмент кода выдает ошибку:

Ошибка вывода типа: недостаточно информации длявыводить параметр S в удовольствие!> publishSubscribe (): PublishSubscribeChannelSpec!Пожалуйста, укажите это явно.

Поэтому я преобразовал это в это:

@Bean
fun publishSubscribe(): MessageChannel {
    return MessageChannels.publishSubscribe<String>().get()
}

, который выдает следующую ошибку:

Тип аргумента нев его пределах:
Ожидаемый: PublishSubscribeChannelSpec!
Найдено: String`

Таким образом, логично было бы заменить код следующим образом:

@Bean
fun publishSubscribe(): MessageChannel {
    return MessageChannels.publishSubscribe<PublishSubscribeChannelSpec<String!>!>().get()
}

Иэто следующая ошибка:

Kotlin: неожиданный токен Kotlin: неожиданный токен

Неожиданный токен здесь - восклицательный знак.

Так я могу заставить это работать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...