복붙노트

[SPRING] 클러스터 환경에서의 스프링 배치 - Websphere

SPRING

클러스터 환경에서의 스프링 배치 - Websphere

Spring 일괄 작업을 설정했지만 단일 JVM에서 제대로 실행됩니다. 하지만 클러스터 된 환경에 배포해야합니다. 나는 봄 작업 스케줄러를 사용하여 작업을 예약하고 있습니다. 하나의 노드가 다운되어 다른 노드가 장애가 발생할 경우 클러스터 된 환경에서이를 수행 할 수있는 방법이 있습니까? 배포 할 서버는 Webspehere입니다.

해결법

  1. ==============================

    1.Spring Batch는 클러스터 된 실행 수단을 지원하지 않습니다. 작업을 클러스터링하려면 제품을 확인해야하며, 위험물 수집을 제안 할 수 있습니다.

    Spring Batch는 클러스터 된 실행 수단을 지원하지 않습니다. 작업을 클러스터링하려면 제품을 확인해야하며, 위험물 수집을 제안 할 수 있습니다.

  2. ==============================

    2.두 가지 제안 사항 :

    두 가지 제안 사항 :

    이 두 방법 모두 작업을 한 번만 수행 할 수 있습니다.

    첫 번째 방법은 (지루한) Quartz DB 설정을 필요로하지만 클러스터되지 않은 Websphere 웹 애플리케이션을 직접 연결할 수 있습니다.

    두 번째 접근법은 영구 저장소를 필요로하지 않으며 Apache Camel 래퍼를 통해 설정이 간편해집니다.

  3. ==============================

    3.마지막으로 스프링 배치 작업을 시작하는 EJB 영구 타이머로 작업하게되었습니다. 이러한 EJB 타이머의 트랜잭션 유형은 Bean 트랜잭션으로 정의되었으므로 컨테이너로 관리되지 않습니다. Websphere 스케줄러는 EJB 타이머를 사용하여 클러스터링을 처리합니다. 따라서 스프링 배치 작업은 한 번에 한 서버에서만 시작됩니다.

    마지막으로 스프링 배치 작업을 시작하는 EJB 영구 타이머로 작업하게되었습니다. 이러한 EJB 타이머의 트랜잭션 유형은 Bean 트랜잭션으로 정의되었으므로 컨테이너로 관리되지 않습니다. Websphere 스케줄러는 EJB 타이머를 사용하여 클러스터링을 처리합니다. 따라서 스프링 배치 작업은 한 번에 한 서버에서만 시작됩니다.

  4. from https://stackoverflow.com/questions/26492788/spring-batch-on-clustered-environment-websphere by cc-by-sa and MIT license