Stormwaker:
Ich versuche Frühling Kafka herauszufinden. Während Bezug folgenden fand ich Fehler in diesem Beispiel . Es gibt keine brokerListProperty()
Methode in der EmbeddedKafkaRule
Klasse. Wie soll ich Refactoring den Code es funktioniert?
Code aus obigem Link:
@RunWith(SpringRunner.class)
@SpringBootTest
public class MyApplicationTests {
@ClassRule
public static EmbeddedKafkaRule broker = new EmbeddedKafkaRule(1,
false, "someTopic")
.brokerListProperty("spring.kafka.bootstrap-servers");
}
@Autowired
private KafkaTemplate<String, String> template;
@Test
public void test() {
...
}
}
Arteta:
Zusammen mit dem @SpringBootTest
Betrachten wir ein verwenden , @EmbeddedKafka
statt. Dass man eine Eigenschaft wie:
/**
* The property name to set with the bootstrap server addresses instead of the default
* {@value org.springframework.kafka.test.EmbeddedKafkaBroker#SPRING_EMBEDDED_KAFKA_BROKERS}.
* @return the property name.
* @since 2.3
* @see org.springframework.kafka.test.EmbeddedKafkaBroker#brokerListProperty(String)
*/
String bootstrapServersProperty() default "";
Das Ziel für ein EmbeddedKafkaRule
, wenn wir Frühling gar nicht in Tests verwenden. Und ich stimme zu, dass wir eine Ausbreitungseigenschaft von dem fehlen EmbeddedKafkaRule
in ein brokerListProperty()
. Bitte fühlen Sie sich frei , eine GH Ausgabe zu erhöhen und ein Update zu diesem Thema beitragen.
Inzwischen können Sie es wie folgt umgehen:
@ClassRule
public static EmbeddedKafkaRule broker = new EmbeddedKafkaRule(1, false, "someTopic");
@BeforeAll
pubic static void setup() {
broker.getEmbeddedKafka().brokerListProperty("spring.kafka.bootstrap-servers");
}