Backend

Spring Batch는 대용량 작업을 처리할 수 있는 오픈소스 프레임 워크입니다. 그러나 많은 데이터를 처리할 때 처리 속도가 느려질 수 있습니다. 이번 글에서는 이러한 속도 저하를 해결하기 위한 3가지 방법을 제시하고자 합니다. 첫 번째 방법 - 적절한 트랜잭션 범위 설정 처리해야 할 데이터 양이 많을 때, 트랜잭션 범위를 너무 작게 설정하면 오히려 처리 속도가 느려질 수 있습니다. 반대로, 트랜잭션 범위를 너무 크게 설정하면 메모리 점유율이 높아져 OutOfMemoryError가 발생할 가능성이 있습니다. 이를 해결하기 위해서는 적절한 트랜잭션 범위를 찾아야 합니다. 예를 들어, 만약 데이터베이스에서 1000만 건의 데이터를 조회해야 한다면, 한 번에 1000건 혹은 10000건씩 조회하는 것이 적..
스프링배치에서 대용량 데이터 처리를 위해서는 데이터의 정합성을 유지하기 위한 Transaction 처리가 필요합니다. 이번 포스트에서는 Spring Batch에서 Transaction 처리를 위해 사용하는 TransactionManager를 살펴보겠습니다. TransactionManager란? TransactionManager는 Spring에서 제공하는 인터페이스로, 데이터베이스와 같은 외부 리소스를 사용할 때, 이를 관리하는 역할을 합니다. Spring Batch에서는 Job과 Step에서 이러한 외부 리소스를 사용할 때, TransactionManager를 사용하여 데이터의 정합성을 유지합니다. Spring Batch의 Transaction 처리 Spring Batch에서는 Job과 Step에서 Tr..
소개 Thymeleaf는 자바 웹 및 독립형 환경에서 HTML, XML, JavaScript, CSS 및 텍스트를 처리하는 데 사용되는 서버 측 Java 템플릿 엔진입니다. 다음은 Thymeleaf의 장점입니다. 템플릿 엔진이란? 템플릿 엔진은 서버 측에서 동적으로 HTML, XML, JSON 등의 문서를 생성하는 소프트웨어입니다. 템플릿 엔진을 사용하면 페이지에 동적으로 데이터를 추가하거나 UI를 동적으로 수정할 수 있습니다. 간단한 구문 다양한 태그 속성 지원 및 확장 가능성 다국어 처리가 용이함 Thymeleaf 사용하기 Thymeleaf는 다양한 방법으로 사용할 수 있습니다. 가장 일반적인 방법은 Spring Framework와의 통합입니다. Spring Boot 프로젝트에서는 Starter 종속..
가끔 프로젝트 새로 만들고 프로젝트 돌리면 TestEngine with ID 'junit-vintage' failed to discover tests 라는 에러가 뜰 때가 있다. 이럴 때는 maven 에 아래 의존성을 추가해주면 된다. org.junit.vintage junit-vintage-engine [참고한 글] https://stackoverflow.com/questions/59900637/error-testengine-with-id-junit-vintage-failed-to-discover-tests-with-spring Error "TestEngine with ID 'junit-vintage' failed to discover tests" with Spring Boot 2.2 I have a ..
Chung-A
'Backend' 카테고리의 글 목록 (2 Page)