[제우스, 웹투비] NextJs가 제우스로 올린 Spring Boot를 호출하지 못할때
2025. 3. 19. 19:34ㆍ인프라
✔ 개요
톰캣으로 띄우면 요청이 가는데 제우스로하면 연결이 안간다.
curl로도 요청이 되고 포스트맨으로도 요청이 되는 상황이지만 nextJs로 제우스 컨테이너로 호출하면 500에러가 떴다.
✔ 원인 파악
제우스 라이브러리인 ehcache-scf-replication-jar-with-dependencies.jar가 스프링의 Hibernate Validator와 충돌나서 Hibernate Validator와 연관된 라이브러리인 jboss-logging도 제대로 호출되지 않는 문제가 생겼다.
✔ 문제가 됐던 라이브러리 및 코드
에러메세지는 였는데 error라고 크게 안써져있어서 우선 해당 클래스에서 문제가 난걸 파악하는게 오래걸렸다.
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
로깅이 안되는데 왜 요청이 안가느냐? 서비스로직으로 요청이 인입되기 전 로깅 클래스를 불러오는데 오류가 있으니 exception이 떨어지고 서비스로직으로 요청 자체가 안간것이다.
심지어 로깅이 안되니 어디서 exception이 나는지도 원인파악이 어려웠다.
- WEB-INF/jeus-web.xml
- Logback 먼저 호출
<jeus-web-app>
<class-loader>
<prefer-web-inf-classes>true</prefer-web-inf-classes>
</class-loader>
</jeus-web-app>
- JEUS SLF4J 라이브러리 삭제
라이브러리 확인
ls -al $JEUS_HOME/lib/system
ls -al $JEUS_HOME/lib/ext
- 로그 관련 라이브러리 삭제 또는 이동
mv $JEUS_HOME/lib/system/slf4j-api*.jar $JEUS_HOME/lib/system/slf4j-api.bak
mv $JEUS_HOME/lib/system/logback-classic*.jar $JEUS_HOME/lib/system/logback-classic.bak
mv $JEUS_HOME/lib/system/logback-core*.jar $JEUS_HOME/lib/system/logback-core.bak
✔ 더 생각해볼점
근데 왜 curl과 postman호출은 됐던걸까? 이건 아직 파악이 안된다.