Spring загрузка @KafkaListener не слушает имя темы с помощью SPEL, как указано в фреймворкеJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Spring загрузка @KafkaListener не слушает имя темы с помощью SPEL, как указано в фреймворке

Сообщение Anonymous »

Я разработал прослушиватель Kafka. Вот мои разные классы:

Код: Выделить всё

Class KafkaProperties {

public String topicZZZ;
public String groupId;
...
}

Class KafkaConfig {

@Bean
@Primary
public KafkaProperties populateKafkaProperties() {
KafkaProperties obj = new KafkaProperties();
obj.settopicZZZ("kafkaTopicName");

return obj;
}
}

Class B {

@Autowired
KafkaConfig kafkaConfig;

@Autowired
KafkaProperties kafkaProps;

@KafkaListener(topics = {"#{'kafkaProps.topicZZZ'}" },
groupId = "#{'kafkaProps.groupId'}", containerFactory = "onlineKafkaListenerContainerFactory")
public void consumeOnlineMessages() {

log.info();

}
}
Когда я запускаю свое приложение, ошибок нет, но кажется, что оно не распознает название темы, поскольку я не могу принимать какие-либо сообщения.
Я вижу эту строку в журналах:

Код: Выделить всё

Subscribed to topic(s): kafkaProps.topicZZZ
Но когда я передаю имя темы из файла свойств, используя приведенное ниже значение в @kafkaListener, я получаю правильное имя темы.

Код: Выделить всё

@KafkaListener(topics = {"${kafka.topicNamefromPropFile}"  },
groupId = "${kafka.groupid}",
Итак, ясно, что приведенное ниже не работает:

Код: Выделить всё

@KafkaListener(topics = {"#{'kafkaProps.topicZZZ'}" },
Я следовал семантике из документов Spring.
Там это упоминается, как мы можем использовать, как показано ниже, но это ошибка, связанная с синтаксическим анализом заклинания. выражение:

Код: Выделить всё

@KafkaListener(topics = "#{someBean.someProperty}",
groupId = "#{someBean.someProperty}.group")
РЕДАКТИРОВАНИЕ: Я вижу, что значения ConsumerConfig загружаются правильно. Если кому-то нужно увидеть какое-либо свойство оттуда, дайте мне знать.
Может кто-нибудь помогите мне правильно использовать название темы в прослушивателе.

Подробнее здесь: https://stackoverflow.com/questions/782 ... as-mention
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»