spring-cloud-stream kafka, как создать сообщение с круговой стратегией? - PullRequest
0 голосов
/ 18 ноября 2018

У нас есть обновление Пружинная загрузка до версии 2.0.3 (ранее 1.5.10 ).В связи с этим мы изменили выпуск kafka & spring-cloud-stream ( 2.0.0-Release )
В нашем файле свойств YML мы не всегда настраиваем partitionKeyExpression и большинство наших partitionCount больше, чем 1.
В предыдущем выпуске эти настройки наряду с пропуском какой-либо клавиши приводили бы к созданию сообщений в циклической стратегии.

В новом выпуске те же настройки приводят к методу isPartitionedвернуть true, что добавляет Interceptor с новым PartitionHandler, где метод extractKey завершается неудачно из-за отсутствующего ключа (утверждается сообщением «Ключ разделения не может быть нулевым»).


Вопрос в том, как мы можем сохранить предыдущееповедение с теми же настройками или с меньшими изменениями.Как мы можем не использовать ключ и обеспечить передачу сообщений на разделы в циклической стратегии?

1 Ответ

0 голосов
/ 18 ноября 2018

Счет теперь используется в решении.

public boolean isPartitioned() {
    return this.partitionCount > 1 || this.partitionKeyExpression != null
            || this.partitionKeyExtractorName != null || this.partitionKeyExtractorClass != null;
}

Я думаю, что это неправильно # 1531 .

Как обходной путь, не устанавливайтепоток producer.partitionCount, если вы хотите использовать нативное разбиение kafka (а тема уже существует).

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