본문 바로가기
반응형

프로그래밍/Spring71

logback-spring 에 관하여 어제 있었던 일이다. 로그 파일이 기하급수적으로 증가되고 있어 이상하다는 문제가 제기되었다. 프로젝트를 전달 받은대로 사용한 것이 문제였다. 앱 개발을 하던 내가 자바 스프링부트 프로젝트에 대해 전반적인 지식이 부족한 탓이기도 하다. logback에 대한 전반적인 정보를 제공한다기보다는, 앞으로 있을 프로젝트 셋팅에서 잊지 말고 체크해야 하는 포인트에 대해서 간략하게 정리를 하고자 한다. 1. application.yml파일에서 logging으로 설정 가능하다. 더 구체적인 사항들도 있지만, 아래 코드에서 중요한 것은 config: classpath:정의 부분이다. 해당 경로는 프로젝트의 resources/ 하위 디렉토리의 경로를 의미한다. logging: level: root: info org.hibe.. 2024. 2. 22.
querydsl Pageable(), offset, limit을 이용한 페이징 방법 오늘 QueryDSL을 이용한 페이징을 만드는 일을 했는데, 대충 대충 눈으로만 익혔던 지식의 한계를 느끼며 삽질을 좀 했지만 나름 재미는 있었다. 애초에 '회의록'를 조회하는 조건은 날짜, 검색어, 사용자 등으로 검색한 결과를 JPA Repository를 이용해 페이징을 했었다. '회의록'에 참석한 사용자의 경우에도 회의록을 조회할 경우 자기도 포함된 회의록이 나오도록 수정해달라는 요청을 받았다. 애초, 조인 없이 단일 테이블 조회로 만들어진 기능을 조인을 넣어 현재 로그인 한 사용자가 참석한 회의록이 있을 때도 나오도록 수정하면서 JPA Repository의 pageable을 통한 것이 아니라 QueryResults를 통해 offset과 limit를 이용해 페이징되도록 수정하였다. QueryDSL을 .. 2023. 7. 28.
JPA 오류, No property desc found for type Long! Traversed path: 무식이 용감하다고 했던가? ㅋㅋ 그냥 대충 Repository에 Interface 메서드 정의해두고 Run을 실행하니 나온 오류다. findAllOrderByIdDesc()라고 적었는데, 이렇게 하면 안되고 findAllByOrderByIdDesc()라고 적어야 정상적으로 실행이된다. OrderBy조건을 걸기 위해서, By를 넣고 원하는 컬럼과 정렬순서를 명시하면 된다. 2023. 7. 6.
Data truncation: Data too long for column MySQL에서 Insert문 실행시 나타나는 오류 중의 하나. column이 가진 길이보다 넣을려고 하는 값의 길이가 길 때 나오는 오류다. 컬럼의 길이를 늘리던지, 값을 줄이던지 해서 해결하도록 하자. 2023. 7. 3.
Error Request header is too large 대응 방법 게시판을 하나 만들고 글쓰기 테스트를 로컬에서 하다 보니 (정말 오랜만이다. ㅋ) 제목과 같은 오류가 나왔다. 찾아보니 헤더가 넘 크서 그렇다고 한다, 스프링부트의 톰캣 헤더 설정은 기본값이 8Kb라고 하니, 스프링부트 properties에서 서버 설정 값을 변경해주고 하면 문제가 해결된다. server.max-http-header-size=40000 프로젝트를 다시 빌드하고 테스트하니 정상적으로 들어간다. 배포 프로퍼티에도 설정을 꼭 추가해주자!! 2023. 6. 16.
[스프링부트] EnableScheduling , Scheduled로 주기적인 스케쥴링 설정 오늘은 인수인계 받은 소스를 들여다보다, 특정 테이블에 지속적으로 쌓이는 가비지 데이터를 삭제하기 위해 만들었던 것 같은데 주석 처리가 되어 있었다. 아마 매일, 새벽에 스케쥴러가 돌긴 했겠지만, 데이터는 삭제되지 않고 있었을 것 같다. 글을 쓰다보니, 문득, 이런게 여러 곳에 있으면 위험할 것 같다는 생각도 든다. 소스에서는 운영서버가 아닐 경우에만 삭제가 되도록 되어 있는데 왜 그랬을까? 데이터는 운영에서 적재될 것이고 적재된 데이터는 수십기가까지 증가할 수 있는 상황이고, 실제 그런 상황이 이러나, 가비지 데이터를 삭제하는 쿼리를 짜서 돌리고 있는 실정인데 말이다. 여튼 몇 개의 어노테이션을 검색한 결과, 비교적 간단하게 spring에서 스케쥴링을 할 수 있다는 것을 알게 되었다. @Componen.. 2023. 6. 8.
반응형