Когда я хочу настроить костюмер и указать название темы, то нет возможности указать это имя из конфига, как, например, это было сделано с помощью spring
Кваркус:
@ApplicationScoped
public class Consumer {
@Incoming("topic-name") //is it possible to pass the value from the config here?
public void consume(String s) {
Log.info(s);
}
}
весной это выглядело бы так
@Incoming("${topic.name}")
приложение.yml
topic:
name: topic-name
Можно ли передать значение из конфига в аннотацию @Incoming("value")
в Quarkus?
можно ли в кваркус передать значения из конфига, как в спринге?
Нет, я имел в виду, что вы пробовали, почему это не сработало?
Вы должны указать «название канала» вместо «название темы» в аннотации @Incoming.
Ваш Java-код будет выглядеть так:
@ApplicationScoped
public class Consumer {
@Incoming("your-custom-channel-name")
public void consume(String s) {
Log.info(s);
}
}
Честно говоря, я никогда не использовал формат yml, только файл application.properties. Здесь вы должны определить канал с каждым из его свойств (например, тему):
mp.messaging.incoming.your-custom-channel-name.topic=your-topic-name
mp.messaging.incoming.your-custom-channel-name.auto.offset.reset=earliest
mp.messaging.incoming.your-custom-channel-name.group.id=${quarkus.kafka-streams.application-id}-my-private-group-id
Я предполагаю, что если вы попытаетесь переформатировать это в свой файл yml, это будет выглядеть так (не проверено):
mp:
messaging:
incoming:
your-custom-channel-name:
topic: your-topic-name
auto:
offset:
reset: earliest
group:
id: ${quarkus.kafka-streams.application-id}-my-private-group-id
Следуя этому руководству на веб-сайте Quarkus, вы получите пошаговый подход к тому, как это сделать: Реактивный обмен сообщениями с Kafka
так в чем проблема?