분류 전체보기322 libs.versions.toml 을 이용한 버전 관리 Gradle에서 libs.versions.toml을 이용한 라이브러리 버전 관리여러 모듈을 관리하다 보면 각각의 라이브러리 버전을 개별적으로 관리하는 것이 번거로울 수 있습니다. 환경 변수를 활용해 설정할 수도 있지만, 실행 환경마다 다르게 설정될 위험이 존재합니다.이런 문제를 해결하기 위해 Gradle에서 제공하는 libs.versions.toml 파일을 활용하면 프로젝트 전반에서 일관된 버전 관리를 할 수 있습니다. 이번 글에서는 libs.versions.toml을 이용해 라이브러리 버전을 중앙에서 관리하는 방법을 소개합니다.libs.versions.toml이란?libs.versions.toml 파일은 프로젝트에서 사용될 라이브러리와 플러그인의 버전을 한 곳에서 관리할 수 있도록 도와줍니다. 이 파일.. 2025. 2. 5. chunk vs tasklet 차이 Chunk-Oriented Processingchunk는 데이터를 일정 크기로 나누어 처리하는 방식으로 chunk를 기준으로 트랜잭션이 관리된다.데이터를 Read(ItemReader) → Processing(ItemProcessor) → Write(ItemWriter) 단계를 기준으로 나누어 처리한다.주로 데이터 작업을 수행하는 경우 효과적이다.@Configurationclass ChunkBatchConfig( private val jobRepository: JobRepository, private val platformTransactionManager: PlatformTransactionManager, private val domainRepository: DomainRepository) { .. 2024. 11. 18. HikariCP 데드락 이슈 HikariCP 데드락 이슈와 해결 방법JMeter로 스트레스 테스트를 진행하던 중 아래와 같은 에러가 발생했다.Connection is not available, request timed out after 30000ms.@Entitydata class Domain( @Id @GeneratedValue(strategy = GenerationType.AUTO) val id: Long? = null, val name: String? = null,)@Serviceclass DomainService( val repository: DomainRepository) { @Transactional fun save(domain: Domain): Domain { retur.. 2024. 11. 14. Spring Batch Writer 성능 비교 Spring batch writer 의 구현체는 아래와 같은 종류들이 존재한다.Jdbc 및 JPA 는 mysql 8.0 을 기준으로 테스트 진행1.1. JdbcBatchItemWriterJDBC를 사용하여 관계형 데이터베이스에 데이터를 배치로 쓰는 Writer대량의 데이터를 효율적으로 삽입할 수 있으며, 트랜잭션 관리가 용이AUTO_INCREMENT 사용하지 않은 경우GenerationType.AUTO 을 사용하는 경우 Domain 과 쿼리가 같아 테스트 진행하지 않음 @Testfun testDomainJdbcBatchItemWriter() { // given val writer = JdbcBatchItemWriterBuilder() .dataSource(jdbcTemplat.. 2024. 11. 13. 이전 1 2 3 4 ··· 81 다음