Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Provider via `java.util.function.Supplier`

Acho que nao ha necessidade de criar uma nova interface funcional com o mesmo comportamento da java.util.function.Supplier.

public class RecordConsumerProvider<K, V> {

    public void run(final Supplier<RecordConsumer<K, V>> factory) {
        final var recordConsumer = factory.get();
        new KafkaConsumerService<>(
                recordConsumer.getGroupId(),
                recordConsumer.getTopic(),
                recordConsumer.getValueType(),
                recordConsumer::process
        )
                .poll();
    }
}

No exemplo acima o resultado eh o mesmo e fica mais claro e facil de entender para quem olha o codigo.

1 resposta
solução!

Oi Luis, tudo bem?

Agradeço pela sugestão! Realmente, simplificar o código e torná-lo mais claro é sempre uma boa prática. É interessante notar como pequenas mudanças podem fazer uma grande diferença na legibilidade.

Um abraço e bons estudos.