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>