SpringBatch-構成
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.No | 属性と説明 |
---|---|
1 | Id これはジョブのIDであり、この属性に値を指定する必要があります。 |
2 | restartable これは、ジョブを再開可能かどうかを指定するために使用される属性です。この属性はオプションです。 |
以下は、SpringBatchのジョブのXML構成です。
<job id = "jobid" restartable = "false" >
. . . . . . . .
. . . . . . . .
. . . . . . . . // Step definitions
</job>
ステップ
このタグは、SpringBatchジョブのステップを定義/構成するために使用されます。次の3つの属性があります-
S.No | 属性と説明 |
---|---|
1 | Id これはジョブのIDであり、この属性に値を指定する必要があります。 |
2 | next 次のステップを指定するためのショートカットです。 |
3 | parent これは、構成が継承する親Beanの名前を指定するために使用されます。 |
以下は、SpringBatchのステップのXML構成です。
<job id = "jobid">
<step id = "step1" next = "step2"/>
<step id = "step2" next = "step3"/>
<step id = "step3"/>
</job>
チャンク
このタグは、チャンクを定義/構成するために使用されます tasklet。次の4つの属性があります-
S.No | 属性と説明 |
---|---|
1 | reader アイテムリーダーBeanの名前を表します。タイプの値を受け入れますorg.springframework.batch.item.ItemReader。 |
2 | writer アイテムリーダーBeanの名前を表します。タイプの値を受け入れますorg.springframework.batch.item.ItemWriter。 |
3 | 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.No | 属性と説明 |
---|---|
1 | dataSource これは、データソースを定義するBean名を指定するために使用されます。 |
2 | transactionManager これは、transactionmanagerを定義するBeanの名前を指定するために使用されます。 |
3 | 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には、という名前のプロパティが1つあります。jobrepository、およびを定義するBeanの名前を指定するために使用されます jobrepository。
以下は、jobLauncherの構成例です。
<bean id = "jobLauncher"
class = "org.springframework.batch.core.launch.support.SimpleJobLauncher">
<property name = "jobRepository" ref = "jobRepository" />
</bean>
TransactionManager
TransactionManager Beanは、リレーショナルデータベースを使用して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.No | 属性と説明 |
---|---|
1 | driverClassName これは、データベースへの接続に使用されるドライバーのクラス名を指定します。 |
2 | url これは、データベースのURLを指定します。 |
3 | 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>