20장. 배치 애플리케이션 구성
JBoss EAP 7에서는 Cryostat -352에서 정의한 Java 배치 애플리케이션을 지원했습니다. batch-jberet 하위 시스템을 사용하여 배치 애플리케이션을 실행하고 배치 작업을 관리하는 환경을 구성할 수 있습니다.
배치 애플리케이션 개발에 대한 자세한 내용은 JBoss EAP 개발 가이드의 Java Batch Application Development 를 참조하십시오.
20.1. 배치 작업 구성 링크 복사링크가 클립보드에 복사되었습니다!
JBeret 구현을 기반으로 하는 batch-jberet 하위 시스템을 사용하여 배치 작업에 대한 설정을 구성할 수 있습니다.
기본 batch-jberet 하위 시스템 구성은 메모리 내 작업 리포지토리 및 기본 스레드 풀 설정을 정의합니다.
기본적으로 서버 일시 중단 중에 중지된 배치 작업은 서버를 다시 시작할 때 다시 시작됩니다. restart-jobs-on-resume 속성을 false 로 설정하여 대신 작업을 STOPPED 상태로 유지할 수 있습니다.
/subsystem=batch-jberet:write-attribute(name=restart-jobs-on-resume,value=false)
/subsystem=batch-jberet:write-attribute(name=restart-jobs-on-resume,value=false)
배치 작업 리포지토리 및 스레드 풀에 대한 설정을 구성할 수도 있습니다.
20.1.1. 배치 작업 리포지토리 구성 링크 복사링크가 클립보드에 복사되었습니다!
이 섹션에서는 관리 CLI를 사용하여 배치 작업 정보를 저장하기 위해 메모리 내 및 JDBC 작업 리포지토리를 구성하는 방법을 보여줍니다. 또한 구성 탭에서 Batch 하위 시스템으로 이동하고 왼쪽 메뉴에서 In Memory 또는 JDBC 를 선택하여 관리 콘솔을 사용하여 작업 리포지토리를 구성할 수도 있습니다.
메모리 내 작업 리포지토리 추가
메모리에 배치 작업 정보를 저장하는 작업 리포지토리를 추가할 수 있습니다.
/subsystem=batch-jberet/in-memory-job-repository=REPOSITORY_NAME:add
/subsystem=batch-jberet/in-memory-job-repository=REPOSITORY_NAME:add
JDBC 작업 리포지토리 추가
데이터베이스에 배치 작업 정보를 저장하는 작업 리포지토리를 추가할 수 있습니다. 데이터베이스에 연결하기 위한 데이터 소스의 이름을 지정해야 합니다.
/subsystem=batch-jberet/jdbc-job-repository=REPOSITORY_NAME:add(data-source=DATASOURCE)
/subsystem=batch-jberet/jdbc-job-repository=REPOSITORY_NAME:add(data-source=DATASOURCE)
기본 작업 리포지토리 설정
in-memory 또는 JDBC 작업 리포지토리를 배치 애플리케이션의 기본 작업 리포지토리로 설정할 수 있습니다.
/subsystem=batch-jberet:write-attribute(name=default-job-repository,value=REPOSITORY_NAME)
/subsystem=batch-jberet:write-attribute(name=default-job-repository,value=REPOSITORY_NAME)
이 경우 서버를 다시 로드해야 합니다.
reload
reload
20.1.2. 배치 스레드 풀 구성 링크 복사링크가 클립보드에 복사되었습니다!
이 섹션에서는 관리 CLI를 사용하여 배치 작업에 사용할 스레드 풀 및 스레드 팩토리를 구성하는 방법을 보여줍니다. 또한 구성 탭에서 Batch 하위 시스템으로 이동하고 왼쪽 메뉴에서 스레드 풀 또는 스레드 요인을 선택하여 관리 콘솔을 사용하여 스레드 풀 및 스레드 팩토리를 구성할 수도 있습니다.
스레드 풀 구성
스레드 풀을 추가할 때 파티션 작업이 예상대로 실행되도록 예약되므로 항상 3 보다 커야 하는 max-threads 를 지정해야 합니다.
스레드 풀을 추가합니다.
/subsystem=batch-jberet/thread-pool=THREAD_POOL_NAME:add(max-threads=10)
/subsystem=batch-jberet/thread-pool=THREAD_POOL_NAME:add(max-threads=10)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 필요한 경우
keepalive-time값을 설정합니다./subsystem=batch-jberet/thread-pool=THREAD_POOL_NAME:write-attribute(name=keepalive-time,value={time=60,unit=SECONDS})/subsystem=batch-jberet/thread-pool=THREAD_POOL_NAME:write-attribute(name=keepalive-time,value={time=60,unit=SECONDS})Copy to Clipboard Copied! Toggle word wrap Toggle overflow
스레드 팩토리 사용
스레드 팩토리를 추가합니다.
/subsystem=batch-jberet/thread-factory=THREAD_FACTORY_NAME:add
/subsystem=batch-jberet/thread-factory=THREAD_FACTORY_NAME:addCopy to Clipboard Copied! Toggle word wrap Toggle overflow 스레드 팩토리에 대해 원하는 특성을 구성합니다.
-
group-name- 이 스레드 팩토리에 대해 생성할 스레드 그룹의 이름입니다. -
priority- 생성된 스레드의 스레드 우선 순위입니다. thread-name-pattern- 스레드 이름을 만드는 데 사용되는 템플릿입니다. 다음 패턴을 사용할 수 있습니다.-
%%- 백분율 기호 -
%t- 요소별 스레드 시퀀스 번호 -
%G - 글로벌 스레드 시퀀스 번호 -
%F - 팩토리 순서 번호 -
%I - 스레드 ID
-
-
스레드 팩토리를 스레드 풀에 할당합니다.
/subsystem=batch-jberet/thread-pool=THREAD_POOL_NAME:write-attribute(name=thread-factory,value=THREAD_FACTORY_NAME)
/subsystem=batch-jberet/thread-pool=THREAD_POOL_NAME:write-attribute(name=thread-factory,value=THREAD_FACTORY_NAME)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 경우 서버를 다시 로드해야 합니다.
reload
reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow
기본 스레드 풀 설정
다른 스레드 풀을 기본 스레드 풀로 설정할 수 있습니다.
/subsystem=batch-jberet:write-attribute(name=default-thread-pool,value=THREAD_POOL_NAME)
/subsystem=batch-jberet:write-attribute(name=default-thread-pool,value=THREAD_POOL_NAME)
이 경우 서버를 다시 로드해야 합니다.
reload
reload
스레드 풀 통계 보기
read-resource 관리 CLI 작업을 사용하여 배치 스레드 풀에 대한 런타임 정보를 볼 수 있습니다. 이 런타임 정보를 보려면 include-runtime=true 매개변수를 사용해야 합니다.
런타임 탭에서 배치 하위 시스템으로 이동하여 관리 콘솔을 사용하여 배치 스레드 풀에 대한 런타임 정보를 볼 수도 있습니다.