저는 하둡, 스프링, 카프카 등 이전부터 다양한 오픈 소스를 사용 해왔습니다. 그리고 언제나 "아.. 나도 이 멋진 프로젝트에 기여 한 번 해보고 싶다.." 라는 생각이 많았습니다. 이 글은 제가 스프링 카프카 프로젝트 문서에서 잘못된 점을 발견하여 수정 후 PR을 날려 본, 작지만 첫 기여라는 큰 경험에 관한 글입니다.
카프카 관련 문서를 참고하며 개발하고 있던 날이었습니다. 그런데 Spring Kafka 프로젝트의 테스트에 관한 단락을 읽으면서 개발하던 중 뭔가 이상한 점을 발견했습니다.
이상한 점을 발견한 곳은 카프카 테스트 환경 구성에 앞서 프로듀서와 컨슈머의 프로퍼티를 설정하는 부분이었습니다. 문제가 된 곳은 하이라이트 된 senderProps()
메소드 부분인데, 단락의 내용과 메소드 설명은 프로듀서에 관한 내용이지만 어째서 인지 메소드는 senderProps()
로 적혀 있었습니다.
좀 더 정확한 확인을 위해 해당 코드를 확인 해봤습니다.
// org.springframework.kafka.test.utils.KafkaTestUtils
...
/**
* Set up test properties for an {@code <Integer, String>} consumer.
* @param group the group id.
* @param autoCommit the auto commit.
* @param embeddedKafka a {@link EmbeddedKafkaBroker} instance.
* @return the properties.
*/
public static Map<String, Object> consumerProps(String group, String autoCommit,
EmbeddedKafkaBroker embeddedKafka) {
return consumerProps(embeddedKafka.getBrokersAsString(), group, autoCommit);
}
/**
* Set up test properties for an {@code <Integer, String>} producer.
* @param embeddedKafka a {@link EmbeddedKafkaBroker} instance.
* @return the properties.
*/
public static Map<String, Object> **producerProps**(EmbeddedKafkaBroker embeddedKafka) {
return senderProps(embeddedKafka.getBrokersAsString());
}
그렇습니다. 주석으로 보나, 아규먼트를 보나 producerProps
가 정확한 내용이었습니다.(야호!)
예쓰!! 드디어 나도!