Spring/Trouble Shooting
-
[Spring Boot] IntelliJ에서 profiles 옵션이 적용안되던 이유 해결법Spring/Trouble Shooting 2023. 7. 20. 23:08
일단 가장 먼저 프로젝트를 진행함에 있어, Github Action으로 CI/CD를 구축하여 개발하는 중이였다. 개발환경에서는 h2 in-memory DB를 활용했어, 배포환경에서는 MySql을 사용하기 위해 apllication.yml을 배포 환경에는 prod를 적용했다. 따라서 CI/CD는 application-prod.yml을 적용해서 실행되도록 하였는데 실제 환경에서도 돌아가는지 직접 확인하기 위해 개발환경에서 쓰이던 application.yml과 application-prod.yml를 같이 두고 실행해봤다. 따로 사용할 profile 이름까지 지정해서 진행했는데 분명 profile is active: prod 를 확인했다. 그러나 발생하는 오류 Hibernate: drop table if exi..
-
[IntelliJ] 오류해결 Module 'demo.main' production: java.lang.ClassCastException: classSpring/Trouble Shooting 2023. 7. 20. 16:15
다음과 같이 오류가 발생하는 경우가 있다면 Module 'demo.main' production: java.lang.ClassCastException: class org.jetbrains.jps.builders.java.dependencyView.TypeRepr$PrimitiveType cannot be cast to class org.jetbrains.jps.builders.java.dependencyView.TypeRepr$ClassType (org.jetbrains.jps.builders.java.dependencyView.TypeRepr$PrimitiveType and org.jetbrains.jps.builders.java.dependencyView.TypeRepr$ClassTyp..
-
[QueryDsl] Q타입 컴파일 중 javax.persistence.entity 오류Spring/Trouble Shooting 2023. 6. 17. 21:47
Q타입 컴파일 시 발생한 javax.persistence.entity 오류 바뀐 환경 이전까지 프로젝트 진행함에 있어 QueryDsl을 사용하기 위해 Q타입 컴파일하는데 문제가 없었는데, 이번에 2.7.x 버전에서 3.1.x 버전으로 변경해서 그런지 Q타입 컴파일 하는데 오류가 발생했다. 해결 방법 build.gradle에 있는 dependencies에 QueryDsl 의존성의 모든 부분에 :jakarta 를 입력해주면 된다. implementation "com.querydsl:querydsl-jpa:${queryDslVersion}" annotationProcessor "com.querydsl:querydsl-apt:${queryDslVersion}"위를 아래와 같이 변경한다. implementatio..
-
[Spring Boot] 브라우저 강제 종료시 소켓 연결 끊기Spring/Trouble Shooting 2023. 5. 16. 18:24
브라우저 강제 종료하면 소켓 해제는? 문제 상황 웹 소켓을 통한 채팅 서비스 구현중 클라이언트가 브라우저를 강제 종료를 해도 소켓 연결 해제가 정상적으로 이뤄지지 않았다. 문제 요인 클라이언트 측에서 소켓의 Disconnect 요청을 보내오지 않았기 때문에 서버에서는 당연히 연결 되어 있음으로 판단하고, 연결을 유지했다. 정확히는 Disconnect를 보내오면 채팅방의 인원수가 줄어들면서 클라이언트가 연결을 종료했다고 로직을 작성했는데, Disconnect 요청이 안오니 채팅방 인원수가 그대로 유지되었다. 문제 해결 소켓의 연결 상태를 기록했다. 서버 측에서 클라이언트의 Disconnect 요청을 기다리지만은 않고, 스스로 판단할 수 있도록 했다. 1번 기록 public class Session { @I..