Java, Spring Boot, Tomcat 환경에서 파일 업로드 기능을 구현하면서 겪었던 임시 파일 삭제 문제에 대해 공유하고자 합니다. 특히, File.deleteOnExit() 메소드를 사용했을 때의 한계와 이를 해결하기 위해 Files.delete() 메소드로 전환한 경험을 공유합니다. 문제의 배경 파일 업로드 기능을 구현할 때, 사용자가 업로드한 파일은 일반적으로 서버의 임시 디렉토리에 저장됩니다. Tomcat은 요청이 완료되면 자동으로 이 임시 파일들을 삭제하는 기능을 제공하지만, 비동기 처리나 지속적인 파일 업로드가 이루어지는 환경에서는 이 기능이 제대로 작동하지 않을 수 있습니다. 이로 인해 임시 파일이 쌓여 서버의 디스크 공간을 차지하게 되는 문제가 발생했습니다. File.deleteO..
vscode 환경에서 JAVA, SpringBoot, Gradle의 개발환경에서 최초 작업하였던 PC가 아닌 다른 PC에서 소스를 내려받은 후 작업을 진행하기 위해 프로젝트 실행을 하던 중 아래와 같은 오류메시지가 발생하였다. PS 프로젝트경로위치> .\gradlew.bat bootrun Starting a Gradle Daemon, 1 incompatible Daemon could not be reused, use --status for details > Configure project : zone: null > Task :compileJava FAILED FAILURE: Build failed with an exception. * What went wrong: Execution failed for t..
SpringBoot를 이용해서 프로젝트를 진행하다가 SpringBoot는 어떻게 별도의 설정 없이 구동이 되는지 궁금하여 찾아보게 되었다. SpringBoot는 프로젝트를 생성 시 사용할 옵션을 선택하여 프로젝트가 생성되며, Spring Boot App을 실행하면 별도의 설정 없이 기본적으로 사용할 옵션이 설정되어 프로젝트가 구동이 된다. 이때 어떻게 자동으로 설정이되는지 확인해보았다. 우선 프로젝트를 생성하면 pom.xml에 아래와 같이 선택한 옵션에 대한 Dependency를 확인할 수 있다. 위와 같이 보통은 "spring-boot-starter-선택옵션명" 규칙으로 생성되며 해당 Dependency로 필요한 의존성과 설정을 자동화한다. Spring Boot App을 실행하면 "@SpringBoot..
- Total
- Today
- Yesterday
- SQL
- 프로그래밍
- jQuery
- JPA
- html
- mybatis
- gradle
- 날짜
- Java
- 컨테이너
- TLS
- Linux
- Eclipse
- SSL
- Push
- spring
- 깨짐
- WAS
- HTTPS
- web
- Oracle
- vscode
- docker
- Git
- React
- JSON
- parse
- tomcat
- Windows
- SpringBoot
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
