# 델파이 데몬 마이그레이션 KISS(Keep it Simple, Stupid)
YAGNI(You Ain't Gonna Need It) ### 연계 디비폴링, 프로그램 업데이트를 위한 워커 기존 델파이 데몬을 스프링 스케쥴러로 대체한다.
manual > 수동실행 및 모니터링
worker > 메인 스케쥴러 ### Guides 아래 명령어로 실행한다.
jdk는 17버전
기존 돌고있는 서비스의 영향을 주지 않기 위해 서버 시스템 환경변수는 그대로 둔다
아래 명령어처럼 다운로드한 jdk 경로를 명시적으로 하여 실행하도록 한다.
25/9/8일 기준으로 자바 변경, 스크립트 bat파일을 통한 실행으로 변경. (아래 참조) ``` & "C:\Program Files\Eclipse Adoptium\jdk-17.0.15.6-hotspot\bin\java.exe" -jar "C:\Users\Administrator\Desktop\clean-parking-worker-0.0.1-SNAPSHOT.jar" --spring.profiles.active=local ``` ``` start "" "C:\Program Files\Eclipse Adoptium\jdk-17.0.15.6-hotspot\bin\java.exe" -jar "C:\Users\Administrator\Desktop\clean-parking-worker-0.0.1-SNAPSHOT.jar" --spring.profiles.active=local >> "C:\logs\worker.log" 2>&1 ``` - 자바 경로 , 배포할 jar파일 경로, 실행시 적용시킬 프로파일 순서이다. - 해당 실행은 스크립트를 통해 만들 예정이며, 이후 스크립트 더블클릭으로 재실행 할수 있도록 한다. - start를 붙이면 백그라운드로 실행 가능하다 (윈도우) - 대신 로그를 볼려면 실행로그파일을 따로 지정해줘야 된다.
- 수동실행을 위한 뷰페이지 localhost:8011로 접속하면됨. - 로그보기를 누르면 실시간 로그도 볼수 있음. - 프로그램 실행유무는 로컬호스트 8011을 접속 가능 여부로 판단하면됨. - 25/9/8일 화성 테스트중 Eclipse Adoptium jdk 의존성 문제 발견. 원인은 서버 2012 너무 예전버전이라 그럼. - 그래서 zulu17 버전으로 변경 (old os버전과의 호환성 문제가 덜하다고 함) - c:/program files 안에 zip버전 자바 압축을 풀고 폴더명을 zulu17로 변경. - 해당경로를 명시적으로 작성하여 자바 프로젝트를 실행시킨다. - 아래는 스크립트 bat파일이다. - 각 환경에 따라 디렉토리 위치만 변경해주면 된다. - kill은 8011기준 pid를 찾아 kill한다. 만약 서비스 포트가 변경되면 해당 포트로 변경해준다. - 실행시킬 .jar 옆(./)에 logs 디렉토리가 있어야함. ``` @echo off start "" "C:\Program Files\zulu17\bin\javaw.exe" ^ -jar "C:\Users\Administrator\Desktop\cc-worker\clean-parking-worker-0.0.1-SNAPSHOT.jar" --spring.profiles.active=prod exit ``` ``` @echo off echo [INFO] 8011 포트 사용 중인 프로세스 종료 시도... for /f "tokens=5" %%i in ('netstat -ano ^| findstr :8011 ^| findstr LISTENING') do ( echo [INFO] PID=%%i 종료 taskkill /PID %%i /F ) echo [OK] 완료. exit /b 0 ``` ### 배포 및 필수값 세팅
[JAVA] JDK 17버전 세팅
[실행 스크립트 bat파일]
- 기타 여러 프로그램으로 cmd콘솔이 너무 많음. - 하여 해당 워커는 백그라운드로 돌리고 실행유무 판단은 뷰페이지를 통하여 함. - 실행과 중지는 bat파일을 통해 하도록 한다. [CpSgg] 필수 값 세팅 1
- 하위 sgg코드들 다 있어야함. [SetInfo] 필수 값 세팅 2
- setinfo는 멀티 PK임. CODE_NAME, GROUP_CODE, DETAIL_CODE [신문고] - CODE_NAME(PK) : WORKER - GROUP_CODE(PK) : INFO - DETAIL_CODE(PK) : PROD - INT_VALUE1 : 메인 시군구 코드 - INT_VALUE2 : 메인 시군구 부서코드 - STR_VALUE1 : 시군구 명 (유성구) - STR_VALUE2 : ESB RCV 경로 - STR_VALUE3 : ESB SEND 경로 - STR_VALUE4 : 신문고 xml 백업 경로 - STR_VALUE5 : 신문고 이미지 파일 백업경로 - STR_VALUE6 : 하위 모든 시군구 + 부서코드 제이슨 형태 ex) {"수정구":[41131, 3790009], "중원구":[41133, 3800009], "분당구": [41135, 3810070]} [E-Post] - CODE_NAME(PK) : - GROUP_CODE(PK) : - DETAIL_CODE(PK) : - INT_VALUE1 : - INT_VALUE2 : - STR_VALUE1 : - STR_VALUE2 : - STR_VALUE3 : - STR_VALUE4 : - STR_VALUE5 : - STR_VALUE6 : - CODE_NAME(PK) : - GROUP_CODE(PK) : - DETAIL_CODE(PK) : - INT_VALUE1 : - INT_VALUE2 : - STR_VALUE1 : - STR_VALUE2 : - STR_VALUE3 : - STR_VALUE4 : - STR_VALUE5 : - STR_VALUE6 :