Kotlin/Spring
spring boot jib 를 사용 하여 배포 자동화 하기 (w. github action)
spring boot jib 를 사용 하여 배포 자동화 하기 (w. github action)
2023.03.23jib 란? Jib는 Dockerfile을 사용하지 않거나 Docker를 설치할 필요 없이 컨테이너를 빌드할 수 있도록 도와주는 도구이다. 특히 자바 컨테이너를 빌드하는 데 사용하는 도구이며, Maven과 Gradle 용 플러그인을 이용해 사용할 수도 있고 Jib 자바 라이브러리를 통해 사용할 수도 있다. 적용해보기 build.gradle.kts plugin { ... id("com.google.cloud.tools.jib") version "3.1.2" apply false ... } 버전은 해당 spring boot, kotlin, java 버전에 맞게 설정 이 필요하다. val stage: String? by project // github action 에서 -Pstage=alpha 옵션으로 주입 ..
Kotlin 으로 Spring batch 시작하기 Part.1
Kotlin 으로 Spring batch 시작하기 Part.1
2022.10.29Java 로 된 Spring Batch 는 예제는 많지만 Kotlin 으로 된 예제는 부족한 것 같아 실전 프로젝트 처럼 예제를 작성 하기로 했습니다. 모든 code 는 아래 github 에서 확인해주세요 https://github.com/nothingprogram/spring-batch-practice GitHub - nothingprogram/spring-batch-practice Contribute to nothingprogram/spring-batch-practice development by creating an account on GitHub. github.com Project setup 하기 build.gradle.kts import org.jetbrains.kotlin.gradle.task..
Async, CompleteableFuture 에서 RequestContextHolder 에 접근하기
Async, CompleteableFuture 에서 RequestContextHolder 에 접근하기
2022.10.20RequestContextHolder 는 ThreadLocal 을 사용하여 attributes 들을 저장하고 있다. MVC spring 에서 비동기적으로 작업을 처리해야 할때가 있는데 이때 RequestContextHolder 에 접근하게 되면 Thread 가 달라 attributes 가 원하는 값이 나오지 않게 된다. 문제해결 @Configuration class WebConfig : ServletContextInitializer { override fun onStartup(servletContext: ServletContext) { val applicationContext = AnnotationConfigWebApplicationContext() val dispatcherServlet = Dispat..