스프링 배치-구성
Spring Batch 애플리케이션을 작성하는 동안 Spring Batch 네임 스페이스에 제공된 XML 태그를 사용하여 작업, 단계, JobLauncher, JobRepository, Transaction Manager, 리더 및 작성자를 구성합니다. 따라서 아래와 같이 XML 파일에이 네임 스페이스를 포함해야합니다.
<beans xmlns = "http://www.springframework.org/schema/beans"
xmlns:batch = "http://www.springframework.org/schema/batch"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation = "http://www.springframework.org/schema/batch
http://www.springframework.org/schema/batch/spring-batch-2.2.xsd
http://www.springframework.org/schema/bean
http://www.springframework.org/schema/beans/spring-beans-3.2.xsd">
다음 섹션에서는 Spring Batch 네임 스페이스에서 사용할 수있는 다양한 태그, 속성 및 예제에 대해 설명합니다.
일
이 태그는 SpringBatch의 작업을 정의 / 구성하는 데 사용됩니다. 여기에는 일련의 단계가 포함되어 있으며 JobLauncher를 사용하여 시작할 수 있습니다.
이 태그에는 아래에 나열된 2 개의 속성이 있습니다.
S. 아니 | 속성 및 설명 |
---|---|
1 | Id 작업의 ID이며이 속성에 값을 지정해야합니다. |
2 | restartable 작업을 다시 시작할 수 있는지 여부를 지정하는 데 사용되는 속성입니다. 이 속성은 선택 사항입니다. |
다음은 SpringBatch 작업의 XML 구성입니다.
<job id = "jobid" restartable = "false" >
. . . . . . . .
. . . . . . . .
. . . . . . . . // Step definitions
</job>
단계
이 태그는 SpringBatch 작업의 단계를 정의 / 구성하는 데 사용됩니다. 그것은 다음 세 가지 속성을 가지고 있습니다-
S. 아니 | 속성 및 설명 |
---|---|
1 | Id 작업의 ID이며이 속성에 값을 지정해야합니다. |
2 | next 다음 단계를 지정하는 바로 가기입니다. |
삼 | parent 구성이 상속해야하는 상위 Bean의 이름을 지정하는 데 사용됩니다. |
다음은 SpringBatch 단계의 XML 구성입니다.
<job id = "jobid">
<step id = "step1" next = "step2"/>
<step id = "step2" next = "step3"/>
<step id = "step3"/>
</job>
큰 덩어리
이 태그는 청크를 정의 / 구성하는 데 사용됩니다. tasklet. 그것은 다음 네 가지 속성을 가지고 있습니다-
S. 아니 | 속성 및 설명 |
---|---|
1 | reader 항목 판독기 Bean의 이름을 나타냅니다. 유형의 값을 허용합니다.org.springframework.batch.item.ItemReader. |
2 | writer 항목 판독기 Bean의 이름을 나타냅니다. 유형의 값을 허용합니다.org.springframework.batch.item.ItemWriter. |
삼 | processor 항목 판독기 Bean의 이름을 나타냅니다. 유형의 값을 허용합니다.org.springframework.batch.item.ItemProcessor. |
4 | commit-interval 트랜잭션을 커밋하기 전에 처리 할 항목 수를 지정하는 데 사용됩니다. |
다음은 SpringBatch 청크의 XML 구성입니다.
<batch:step id = "step1">
<batch:tasklet>
<batch:chunk reader = "xmlItemReader"
writer = "mysqlItemWriter" processor = "itemProcessor" commit-interval = "10">
</batch:chunk>
</batch:tasklet>
</batch:step>
JobRepository
JobRepository Bean은 관계형 데이터베이스를 사용하여 JobRepository를 구성하는 데 사용됩니다. 이 Bean은 유형의 클래스와 연관됩니다.org.springframework.batch.core.repository.JobRepository.
S. 아니 | 속성 및 설명 |
---|---|
1 | dataSource 데이터 소스를 정의하는 Bean 이름을 지정하는 데 사용됩니다. |
2 | transactionManager transactionmanager를 정의하는 Bean의 이름을 지정하는 데 사용됩니다. |
삼 | databaseType 작업 저장소에서 사용되는 관계형 데이터베이스의 유형을 지정합니다. |
다음은 JobRepository의 구성 예입니다.
<bean id = "jobRepository"
class = "org.springframework.batch.core.repository.support.JobRepositoryFactoryBean">
<property name = "dataSource" ref = "dataSource" />
<property name = "transactionManager" ref="transactionManager" />
<property name = "databaseType" value = "mysql" />
</bean>
JobLauncher
JobLauncher Bean은 JobLauncher를 구성하는 데 사용됩니다. 클래스와 관련이 있습니다.org.springframework.batch.core.launch.support.SimpleJobLauncher(우리 프로그램에서). 이 Bean에는jobrepository을 정의하는 Bean의 이름을 지정하는 데 사용됩니다. jobrepository.
다음은 jobLauncher의 구성 예입니다.
<bean id = "jobLauncher"
class = "org.springframework.batch.core.launch.support.SimpleJobLauncher">
<property name = "jobRepository" ref = "jobRepository" />
</bean>
TransactionManager
TransactionManager 빈은 관계형 데이터베이스를 사용하여 TransactionManager를 구성하는 데 사용됩니다. 이 Bean은 유형의 클래스와 연관됩니다.org.springframework.transaction.platform.TransactionManager.
<bean id = "transactionManager"
class = "org.springframework.batch.support.transaction.ResourcelessTransactionManager" />
데이터 소스
데이터 소스 Bean은 다음을 구성하는 데 사용됩니다. Datasource. 이 Bean은 유형의 클래스와 연관됩니다.org.springframework.jdbc.datasource.DriverManagerDataSource.
S. 아니 | 속성 및 설명 |
---|---|
1 | driverClassName 데이터베이스에 연결하는 데 사용되는 드라이버의 클래스 이름을 지정합니다. |
2 | url 이것은 데이터베이스의 URL을 지정합니다. |
삼 | username 데이터베이스에 연결할 사용자 이름을 지정합니다. |
4 | password 데이터베이스에 연결할 암호를 지정합니다. |
다음은 datasource.
<bean id = "dataSource"
class = "org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name = "driverClassName" value = "com.mysql.jdbc.Driver" />
<property name = "url" value = "jdbc:mysql://localhost:3306/details" />
<property name = "username" value = "myuser" />
<property name = "password" value = "password" />
</bean>