
![[8.5.5.6 이상]](../ng_v8556.gif)
Java 일괄처리 지속성 구성
Java 일괄처리는 작업 인스턴스 하나가 여러 번 실행될 때 상태, 체크포인트 및 애플리케이션의 지속적 데이터를 유지하기 위해 지속적 저장소를 사용합니다. 지속적 저장소는 이전 실행이 실패하거나 다시 시작된 작업에 적절한 데이터를 제공하여 이전 실행이 중지되어야 하는 경우 작업 인스턴스가 다시 시작될 수 있게 합니다.
Java 일괄처리 메모리 기반 지속성 구성
일괄처리 지속성을 사용하면 작업 실행이 FAILED 또는 STOPPED 상태로 종료되는 경우 작업 인스턴스를 다시 시작할 수 있습니다. 일괄처리 지속성 구성이 없으면 Java 일괄처리는 메모리 기반 지속성의 기본 기능을 사용하여 복수의 작업 인스턴스 실행에서 상태, 체크포인트 및 애플리케이션의 지속적 데이터를 추적합니다.
Java 일괄처리에 대한 기본 메모리 기반 지속성 구현은 server.xml 파일에 batchPersistence 및 databaseStore elements가 없는 경우 기본 일괄처리 컨테이너에 의해 사용됩니다.
Java 일괄처리 데이터베이스 지속성 구성
기본적으로 일괄처리 런타임은 databaseStore 요소에 정의된 서버 구성에 따라 존재하지 않는 테이블을 자동 작성합니다. 이 테이블 정의는 데이터베이스 저장소의 schema 및 tablePrefix 속성에 따라 사용자 정의됩니다.
또는, ddlGen 스크립트를 사용하여 서버 구성에 따라 DDL을 생성할 수도 있습니다. 필요한 경우에는 수동으로 테이블을 작성하여 DDL을 사용자 정의할 수 있습니다. 이 DDL은 schema 및 tablePrefix와 같은 서버 구성을 통합하며 databaseStore에서 참조하는 dataSource의 데이터베이스 유형에 대한 적절한 SQL을 포함합니다.
databaseStore에서 createTables="false" 속성을 사용하면 테이블의 자동 작성을 사용 안함으로 설정할 수 있습니다. 이 옵션은 일괄처리 런타임이 예기치 않게 수동으로 작성한 테이블을 찾지 못하는 경우 자동 작성된 테이블 대신 수동으로 작성된 테이블을 사용하도록 하는 데 사용할 수 있습니다.
이 페이지에 표시된 샘플에서는 기본 자동 작성 동작을 사용합니다. 이 동작은 createTables="true"인 경우와 같습니다.
지속성 구성 샘플
<!-- Batch persistence config. References a databaseStore. -->
<batchPersistence jobStoreRef="BatchDatabaseStore" />
<!-- The database store for the batch tables. -->
<!-- Note this database store is referenced by the batchPersistence element. -->
<databaseStore id="BatchDatabaseStore" dataSourceRef="batchDB" schema="JBATCH" tablePrefix="" />
<!-- Derby JDBC driver -->
<!-- Note this library is referenced by the dataSource element -->
<library id="DerbyLib">
<fileset dir="${server.config.dir}/resources/derby" />
</library>
<!-- Data source for the batch tables. -->
<!-- Note this data source is referenced by databaseStore element -->
<dataSource id="batchDB">
<jdbcDriver libraryRef="DerbyLib"/>
<properties.derby.embedded
databaseName="${server.config.dir}/resources/RUNTIMEDB"
createDatabase="create"
user="user"
password="pass" />
</dataSource>