Spring Batch - Konfiguration

Beim Schreiben einer Spring Batch-Anwendung konfigurieren wir Job, Schritt, JobLauncher, JobRepository, Transaction Manager, Leser und Schreiber mithilfe der im Spring Batch-Namespace bereitgestellten XML-Tags. Daher müssen Sie diesen Namespace wie unten gezeigt in Ihre XML-Datei aufnehmen.

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

In den folgenden Abschnitten werden die verschiedenen Tags, ihre Attribute und Beispiele erläutert, die im Spring Batch-Namespace verfügbar sind.

Job

Dieses Tag wird verwendet, um den Job des SpringBatch zu definieren / konfigurieren. Es enthält eine Reihe von Schritten und kann mit dem JobLauncher gestartet werden.

Dieses Tag hat 2 Attribute wie unten aufgeführt -

S.No. Attribut & Beschreibung
1

Id

Es ist die ID des Jobs. Es ist obligatorisch, einen Wert für dieses Attribut anzugeben.

2

restartable

Mit diesem Attribut wird angegeben, ob der Job neu gestartet werden kann oder nicht. Dieses Attribut ist optional.

Es folgt die XML-Konfiguration des Jobs eines SpringBatch.

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

Schritt

Dieses Tag wird zum Definieren / Konfigurieren der Schritte eines SpringBatch-Jobs verwendet. Es hat die folgenden drei Attribute -

S.No. Attribut & Beschreibung
1

Id

Es ist die ID des Jobs. Es ist obligatorisch, einen Wert für dieses Attribut anzugeben.

2

next

Dies ist die Verknüpfung, um den nächsten Schritt anzugeben.

3

parent

Es wird verwendet, um den Namen der übergeordneten Bean anzugeben, von der die Konfiguration erben soll.

Es folgt die XML-Konfiguration des Schritts eines SpringBatch.

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

Chunk

Dieses Tag wird verwendet, um einen Teil von a zu definieren / konfigurieren tasklet. Es hat die folgenden vier Attribute -

S.No. Attribut & Beschreibung
1

reader

Es repräsentiert den Namen der Item Reader Bean. Es akzeptiert den Wert des Typsorg.springframework.batch.item.ItemReader.

2

writer

Es repräsentiert den Namen der Item Reader Bean. Es akzeptiert den Wert des Typsorg.springframework.batch.item.ItemWriter.

3

processor

Es repräsentiert den Namen der Item Reader Bean. Es akzeptiert den Wert des Typsorg.springframework.batch.item.ItemProcessor.

4

commit-interval

Hiermit wird die Anzahl der Elemente angegeben, die vor dem Festschreiben der Transaktion verarbeitet werden sollen.

Im Folgenden finden Sie die XML-Konfiguration des Blocks eines 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

Die JobRepository Bean wird verwendet, um das JobRepository mithilfe einer relationalen Datenbank zu konfigurieren. Diese Bean ist der Typklasse zugeordnetorg.springframework.batch.core.repository.JobRepository.

S.No. Attribut & Beschreibung
1

dataSource

Es wird verwendet, um den Bean-Namen anzugeben, der die Datenquelle definiert.

2

transactionManager

Es wird verwendet, um den Namen der Bean anzugeben, die den Transaktionsmanager definiert.

3

databaseType

Es gibt den Typ der relationalen Datenbank an, die im Job-Repository verwendet wird.

Es folgt die Beispielkonfiguration des 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

Die JobLauncher-Bean wird zum Konfigurieren des JobLauncher verwendet. Es ist der Klasse zugeordnetorg.springframework.batch.core.launch.support.SimpleJobLauncher(in unseren Programmen). Diese Bean hat eine Eigenschaft namensjobrepositoryund wird verwendet, um den Namen der Bean anzugeben, die die definiert jobrepository.

Es folgt die Beispielkonfiguration des jobLauncher.

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

TransactionManager

Die TransactionManager-Bean wird verwendet, um den TransactionManager mithilfe einer relationalen Datenbank zu konfigurieren. Diese Bean ist der Typklasse zugeordnetorg.springframework.transaction.platform.TransactionManager.

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

Datenquelle

Die Datenquellen-Bean wird zum Konfigurieren der verwendet Datasource. Diese Bean ist der Typklasse zugeordnetorg.springframework.jdbc.datasource.DriverManagerDataSource.

S.No. Attribut & Beschreibung
1

driverClassName

Dies gibt den Klassennamen des Treibers an, der für die Verbindung mit der Datenbank verwendet wird.

2

url

Dies gibt die URL der Datenbank an.

3

username

Dies gibt den Benutzernamen an, der mit der Datenbank verbunden werden soll.

4

password

Dies gibt das Kennwort für die Verbindung mit der Datenbank an.

Es folgt die Beispielkonfiguration des 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>