ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Spring boot Kafka Project - (1) 멀티 모듈 프로젝트 만들기
    Dev/Spring 2020. 12. 21. 17:39

    * STS 기반으로 작업했습니다.

    * 점차 업데이트할 예정입니다...만 언제 나올 지 기약이 없을 수도 있습니다.

    * 해당 포스트는 평서문으로 작성되었습니다.

    * 잘못된 내용 모두 자유롭게 말씀해주시면 고치도록 하겠습니다!

     

    1. 들어가기에 앞서

    예전에 Kafka 관련해서 시스템을 주기적으로 모니터링 하는 서버를 만드려고 했었다.

    povia.tistory.com/10

     

    2020.06.04 오늘의 일지

    google의 json-simple을 사용해 Json 메시지를 만드는 테스트용 java 프로그램을 만들었다. 물론 메시지는 지금은 단 한개만 출력하고 종료하지만 주기적으로 내 하드웨어 자원들을 파일로 저장하거나,

    povia.tistory.com

    만...... 결국 못했다.

    그래서 아쉬움이 있던 차에 Spring Boot를 활용해 간단하게 message를 send - receive하는 형태의 멀티 모듈 서버를 만들면 어떨까 하는 생각이 들었다.

    그래서 이 서버 형태를 maven multi module 형태로 만들면 괜찮겠다 싶어 작업을 시작하게 됐다.

     

     

    2. 메인 프로젝트 생성하기

    STS에서 File-New-Spring Starter Project 클릭해 새 프로젝트 생성

    메인 프로젝트 생성

    Type은 Maven, Packaging은 일단 신경쓰지 않기로 하자

    적당히 위의 내용들을 채운 후 Next 클릭

    추가할 종속성을 선택할 영역. 여기서 Spring for Apache Kafka를 선택했다.

     

    Dependency에서 미리 추가하지 않아도 되나 나는 모든 모듈에서 Kafka를 기본 선택하려 했으므로 Kafka를 추가했다.

    물론 뒤에 따라올 추가 프로젝트 생성 시에 추가해도 무방하다.

    이후 Finish를 클릭해 프로젝트를 생성한다.

     

    maven-multi-test라는 메인 프로젝트가 추가된 모습

    패키지 익스플로어에 다음과 같이 추가되었으면 생성된 프로젝트에서 pom.xml을 수정한다.

    이 파일을 수정한다.

    추가할 tag는 modules, module이고 packaging이 존재한다면 pom으로 수정할 것이다.

    수정 후의 모습

    <modules>
      <module>maven-multi-a</module>
      <module>maven-multi-b</module>
    </modules>
    <packaging>pom</packaging>

    수정 후 저장한 후 정의한 모듈들을 추가한다.

    maven module을 추가하는 방법도 있고, spring starter project를 추가하는 방법도 있는데 여기에서는 spring starter project를 추가한다(File-New-Spring Starter Project).

    모듈 추가

    추가 시 주의해야 할 점은 Location 설정이다. 메인 프로젝트 내에 설정한 모듈 이름대로 추가한다.

    Project Dependency 추가는 필요한 디펜던시들을 추가하면 된다.

    추가 후 모습

    모듈들도 결국 스프링 부트 프로젝트이다.

    이렇게 설정하면 일단 원하는대로 모듈들을 개발할 준비는 완료됐다.

     

    github.com/povia/Spring-Kafka-example.git

     

    povia/Spring-Kafka-example

    Spring-kafka example. Contribute to povia/Spring-Kafka-example development by creating an account on GitHub.

    github.com

    깃헙 저장소는 Spring-Kafka-example 프로젝트 내에 모듈들을 설정한 내용이다.

    위와 동일한 방식으로 생성했고 이후부터는 해당 프로젝트를 사용해 개발할 예정이다.

    댓글

Designed by Tistory.