[프로젝트] 레거시 프로젝트 AWS 이관 with Spring FrameWork

John·2022년 11월 16일
3

개발 메모🌷

목록 보기
6/13
post-thumbnail

시작이 반이다.

내년 상반기에 진행될 프로젝트를 미리 준비했습니다.
내년 상반기 프로젝트를 왜 지금 준비하냐고? (당연히 할게 많아서..😰)

시작이 반이다.
"절반을 채운 지금, 중간 회고를 한다!"는 아니고 시작부터 지금까지를 기록하겠습니다.


프로젝트

프로젝트에 대해 간단하게만 설명하면 레거시 프로젝트를 AWS에 이관하는 것입니다.

다만, 이관하게 되면서 프로젝트 인수인계를 받았다는 거..?

2010년도에 진행 된 레거시 프로젝트로 최근 2년간 배포는 없었고, 심지어 개발DB에 존재하지 않는 테이블이 너무 많아 테스트도 안되는 상황..😥

사용자가 많지 않은 앱이였기 때문에 당연스럽게 이관대상에서 제외될거라고 생각을 했었.. 하하(좋은 경험이잖아.. 눈물 닦아😂)

그래도 저에겐 "이건 성장의 기회다!"라고 생각되어 사수님과 "으쌰으쌰! 해보자!"라고 생각하는 순간 사수님이 퇴사했습니다.(🤓..?)

덩그러니 남겨져 메인이 되어 지금까지 준비과정을 기록합니다!
(다른 사수님이 도와주십니다! 능력자이자 천사.. 좋은 복지는 동료다!)


클라우드 전환

일단 AWS이관을 진행하면서 실행환경이 달라져 수정을 해야할 사항들이 생겼습니다.

  1. OS 전환 (Unix to Linux)
  2. DBMS 변경 (Orcale 11g -> AWS RDS Oracle 19c)
  3. S/W 변경 (WEB/WAS -> Nginx/Tomcat)
  4. Java 버전 변경 (1.6 -> 1.8)
  5. Spring Framework 버전 변경(3- > 4)
  6. 회사 플랫폼 버전 변경

AWS 클라우드 전환을 진행하면서 위 사항에 맞게 수정 작업을 진행했습니다.🔥


SQL 수정

SQL

DBMS가 Oracle 11g에서 Oracle 19c로 변경됨에 따라 위 사항을 확인하고 문제가 되는 SQL문을 수정했습니다.

그리고 OS가 Linux로 변경됨에 따라 "literal does not match format string" 오류가 발생할 수 있어 시간을 더 들여서 점검을 진행했습니다.(지난 이관작업에서 해당 문제를 해결하기 위해 TO_DATE 및 TO_CHAR 형식을 모두 변경했다..😂)

지난 AWS 이관을 진행했을 때 테스트에서 문제가 계속 발생했던 경험이 있어서 내년에 프로젝트를 진행하면서 계속 수정할 듯 합니다..💦


버전 업

진짜 이건 사수님한테 감사한다는 말을 반복문 돌려서 가능..
우리 사수님은 모르는게 없어요..(감사해요 센세..💨)

Spring Framework와 함께 회사 내에서 사용하는 플랫폼 버전을 변경해야했습니다. 플랫폼 버전 변경과 Spring Framework 변경에 대해서는 미리 준비할 수 있기 때문에 조금씩 작업하기로 결정🔥

회사 플랫폼을 사용하기 위해 Maven 형식이 아닌 Library 형식으로 관리가 되고 있습니다.
그러다 보니까 회사 플랫폼 버전을 업하면서 Spring Framework 및 연관된 라이브러리를 계속 확인해야 했습니다..😅

진짜 수정할 때마다 에러 로그가 바뀌는 진귀한 현상을 마주했는데..😂
마주했던 오류를 작성해보겠습니다.

미리보기
[Spring] Missing artifact - Maven 외부 라이브러리 추가
[Spring] Spring Framework 3.x.x -> 4.x.x asm 에러


라이브러리 버전을 업하니까 해당 라이브러리에 groupId가 다르다고 나옵니다.
지금까지 1000개 이상을 변경!(ctrl+shif+o, ctrl+s 반복..😥)



빈(Bean) 생성 오류.. 널 너무 많이 만났어.. 그만 만나자고😂
mediaTypes의 빈(Bean) 생성에 문제가 있으므로 라이브러리를 까보겠습니다.


Spring Framework 3.0.5

org.springframework.web.servlet.view.ContentNegotiatingViewResolver


Spring Framework 4.3.25

org.springframework.web.accept.ContentNegotiationManagerFactoryBean

Spring Framework 너 친해지기 어렵다..😂
수정 후 서버 실행📌


Error creating bean with name 'org.springframework.web.servlet.view.ContentNegotiatingViewResolver#0' defined in ServletContext resource [/WEB-INF/controller-servlet.xml]:

또 나를 마주해주는 빈(Bean) 오류! 바로 검색🔍

너.. MappingJackson2JsonView로 변경됐네..😂
다시 한 번 수정 후 서버 실행📌

감동이야..🔥(이외에도 수정을 많이 했다.)

아직 컨트롤러는 옮기지도 않고.. 커스텀 포털도 작업해야하지만.. 난 할 수 있어..(좋은 동료들이 있고 노력하면 돼..!📚)



이전에 진행했던 AWS 이관 당시에는 인턴에서 막 정규직으로 변경이 된 시점이라 쿼리문과 테스트만 주구장창 했었는데.. 그 때 힘들다 생각했는데.. 사수님들의 다크써클은 괜히 생긴게 아니였구나..💦

다른 SI 프로젝트를 병행하면서 작업 중이라 그런지 모르겠지만.. 눈이 너무 피곤해요 하하..😅

근데 눈이 너무 피로하다니까 안약이랑 눈 영양제 사다주는 사수님..(진짜 주변에 사람들이 좋다라는 건 너무 행복한게 아닐까..)


이번에 실제로 준비를 하다보니까 내 사수님들은 정말 대단한 분들이라는 것을 깨닫는다..
공부하자!

profile
기록을 습관으로

0개의 댓글