Skip to content

yujin9907/pay-dependency-test

Repository files navigation

세팅 참고

netstat -ano | findstr 포트번호

MSSQL

로컬 설치 : https://develop-writing.tistory.com/22

Eclipse Temurin JDK

https://adoptium.net/temurin/releases/

rabbit MQ (docker)

https://velog.io/@divan/RabbitMq-%EC%84%A4%EC%B9%98

docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3-management

개요

0. 전체 프로세스

img.png

1. RabbitMQ 메시지

2. swagger (springdoc - fox 아님)

3. CDC 개념 공부

4. KCP 연동 테스트

  • /업무관련파일/pay_system/분석 에 회의록, API, 기능 화면, 샘플코드, 일정표 있음

5. DDD

MSSQL 설정

img.png 그냥 설치해서 ms sql server management studio 에서 이렇게 연결되길래 ㅇㅋ 했는데 intellij 에서 연결이 안 됨


(1) 포트지정
(2) user/password 인증으로 바꿔줘야 함

(1) 포트지정하기

img_1.png sql server configuration manager (msqql 네트워크 관리를 하는 설정 툴) 를 켠다 img_2.png SQL 네트워크 구성 > [사용할db]에 대한 프로토콜 > TCP/IP > IP 주소 탭에서
IP1, ...IP9 중 사용할 IP와 IP all 에다가 포트 할당 img_3.png 재시작

(2) 사용자 인증으로 변경하기

img_4.png 기본값이 windows 인증이라서 SQL server 인증으로 변경해야 함
localhost 는 windows 인증이 가능한데, IP 주소로 연결하기 위해선 username/password 로 하라 그럼

img_5.png 대충 로그인할 어드민 계정을 만든다
* 비밀번호 필수 (intellij 에서 비밀번호 없으면 뭔 클라이언트크리덴션 에러냄)

(3) 스프링부트 yml 설정

spring:
  datasource:
    driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
    url: jdbc:sqlserver://localhost:5012;databaseName=tempdb;encrypt=true;trustServerCertificate=true
    username: sa
    password: 123

저 url 뒤, encrypt, certificate 설정을 해야 동작함

(4) 다른 서버 테이블 갖다 붓기

  1. 객체 우클릭 > 테스트 > 데이터 내보내기
  2. 복사할 db (147 테스트 서버) 입력, 드라이버 선택 주의 img_1.png
  3. 붙여넣기 할 db (내로컬) 입력, 이미지에 IP 잘못된 주소임, 드라이버 선택 주의 img_2.png
  4. 하나 이상의 데이블/뷰, 긁을 테이블 선택 및 실행 img_3.png img_4.png

Rabbit MQ 메시지 형식

img_7.png

 public void sendMessageTestJson(MessageDto messageDto) throws JsonProcessingException {
     ObjectMapper om = new ObjectMapper();
     String toJson = om.writeValueAsString(messageDto);

     log.error("보냄-json");
     log.error(toJson);
     rabbitTemplate.convertAndSend(exchangeName, key, toJson);
 }

1. send json receive json (String to String)

 @RabbitListener(queues = "test")
 public void receiveJson(String msg) {
     log.error("받음-json");
     log.info("---{}", msg);
 }

2. send json receive Message (String to Message(object))

 @RabbitListener(queues = "test")
 public void receiveJson(Message dto) {
     log.error("받음-json2");
     log.info("---{}", dto.toString());
 }

3. send Object receive Object

img_6.png

public void sendMessageTest(MessageDto messageDto) throws JsonProcessingException {
   log.error("보냄-object");
   rabbitTemplate.convertAndSend(exchangeName, key, messageDto);
}
    
 @RabbitListener(queues = "test")
 public void receiveJson(MessageDto dto) {
     log.error("받음-object");
     log.info("---{}", dto.toString());
 }

4. 토픽 전송

  1. RabbitMQConfig binding (여기키로가는지?)
  2. RabbitMQService 보내는 곳 (여기키로가는지?)
  3. RabbitMQConsumerService 받는 곳

내가 보낼 때, convertAndSend 에 정의된 키로 가는지, config binding 에 정의된 키로 가는지? 두개를 일치시켜야 가는 건지?

https://jonnung.dev/rabbitmq/2019/02/06/about-amqp-implementtation-of-rabbitmq/

바인딩이 큐를 결정 -> 큐는 아묻닥 보냄

라이브러리

1. restTemplate

DDD

1. 디렉토리 구조

https://cheese10yun.github.io/spring-guide-directory/

2. DDD start!

8, 9 장 제외 정리
팀장님 주신 샘플
샘플소스2

About

결제시스템 분석 기간 대충 연습하려고 만든거

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages