You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
4.3 KiB
4.3 KiB
델파이 데몬 마이그레이션
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 :