Spring Batch - Configuration

Lors de l'écriture d'une application Spring Batch, nous configurerons le travail, l'étape, le JobLauncher, le JobRepository, le Gestionnaire de transactions, les lecteurs et les rédacteurs à l'aide des balises XML fournies dans l'espace de noms Spring Batch. Par conséquent, vous devez inclure cet espace de noms dans votre fichier XML comme indiqué ci-dessous.

<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">

Dans les sections suivantes, nous aborderons les différentes balises, leurs attributs et exemples, disponibles dans l'espace de noms Spring Batch.

Emploi

Cette balise est utilisée pour définir / configurer le travail du SpringBatch. Il contient un ensemble d'étapes et peut être lancé à l'aide du JobLauncher.

Cette balise a 2 attributs comme listés ci-dessous -

S. Non Attribut et description
1

Id

C'est l'Id du job, il est obligatoire de spécifier la valeur de cet attribut.

2

restartable

Il s'agit de l'attribut utilisé pour spécifier si le travail peut être redémarré ou non. Cet attribut est facultatif.

Voici la configuration XML du travail d'un SpringBatch.

<job id = "jobid" restartable = "false" > 
   . . . . . . . .  
   . . . . . . . .  
   . . . . . . . . // Step definitions 
</job>

Étape

Cette balise est utilisée pour définir / configurer les étapes d'un travail SpringBatch. Il a les trois attributs suivants -

S. Non Attribut et description
1

Id

C'est l'Id du job, il est obligatoire de spécifier la valeur de cet attribut.

2

next

C'est le raccourci pour spécifier l'étape suivante.

3

parent

Il est utilisé pour spécifier le nom du bean parent dont la configuration doit hériter.

Voici la configuration XML de l'étape d'un SpringBatch.

<job id = "jobid"> 
   <step id = "step1" next = "step2"/> 
   <step id = "step2" next = "step3"/> 
   <step id = "step3"/> 
</job>

Tronçon

Cette balise est utilisée pour définir / configurer un morceau d'un tasklet. Il a les quatre attributs suivants -

S. Non Attribut et description
1

reader

Il représente le nom du bean de lecture d'élément. Il accepte la valeur du typeorg.springframework.batch.item.ItemReader.

2

writer

Il représente le nom du bean de lecture d'élément. Il accepte la valeur du typeorg.springframework.batch.item.ItemWriter.

3

processor

Il représente le nom du bean de lecture d'élément. Il accepte la valeur du typeorg.springframework.batch.item.ItemProcessor.

4

commit-interval

Il est utilisé pour spécifier le nombre d'articles à traiter avant de valider la transaction.

Voici la configuration XML du morceau d'un SpringBatch.

<batch:step id = "step1"> 
   <batch:tasklet> 
      <batch:chunk reader = "xmlItemReader" 
         writer = "mysqlItemWriter" processor = "itemProcessor" commit-interval = "10"> 
      </batch:chunk> 
   </batch:tasklet> 
</batch:step>

JobRepository

Le JobRepository Bean est utilisé pour configurer le JobRepository à l'aide d'une base de données relationnelle. Ce bean est associé à la classe de typeorg.springframework.batch.core.repository.JobRepository.

S. Non Attribut et description
1

dataSource

Il est utilisé pour spécifier le nom du bean qui définit la source de données.

2

transactionManager

Il est utilisé pour spécifier le nom du bean qui définit le gestionnaire de transaction.

3

databaseType

Il spécifie le type de base de données relationnelle utilisée dans le référentiel de travaux.

Voici l'exemple de configuration du 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

Le bean JobLauncher est utilisé pour configurer le JobLauncher. Il est associé à la classeorg.springframework.batch.core.launch.support.SimpleJobLauncher(dans nos programmes). Ce bean a une propriété nomméejobrepository, et il est utilisé pour spécifier le nom du bean qui définit le jobrepository.

Voici l'exemple de configuration du jobLauncher.

<bean id = "jobLauncher" 
   class = "org.springframework.batch.core.launch.support.SimpleJobLauncher"> 
   <property name = "jobRepository" ref = "jobRepository" /> 
</bean>

TransactionManager

Le bean TransactionManager est utilisé pour configurer le TransactionManager à l'aide d'une base de données relationnelle. Ce bean est associé à la classe de typeorg.springframework.transaction.platform.TransactionManager.

<bean id = "transactionManager"
   class = "org.springframework.batch.support.transaction.ResourcelessTransactionManager" />

La source de données

Le bean de source de données est utilisé pour configurer le Datasource. Ce bean est associé à la classe de typeorg.springframework.jdbc.datasource.DriverManagerDataSource.

S. Non Attribut et description
1

driverClassName

Ceci spécifie le nom de classe du pilote utilisé pour se connecter à la base de données.

2

url

Cela spécifie l'URL de la base de données.

3

username

Cela spécifie le nom d'utilisateur pour se connecter à la base de données.

4

password

Cela spécifie le mot de passe pour se connecter à la base de données.

Voici l'exemple de configuration du 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>