0
私は春バッチを探索し、基本的な問題に取り掛かりました。春バッチ・ジョブ・リポジトリ
ジョブリポジトリ用にデータソースを個別に設定する方法を教えてください。私のビジネスデータは別のリポジトリにあります。
2番目のバッチアプリケーションを試してみると、スプリングバッチのrepeateldyは同じジョブスキーマテーブルを繰り返し作成しようとします。
あなたのお手伝いをお待ちしております。
私は春バッチを探索し、基本的な問題に取り掛かりました。春バッチ・ジョブ・リポジトリ
ジョブリポジトリ用にデータソースを個別に設定する方法を教えてください。私のビジネスデータは別のリポジトリにあります。
2番目のバッチアプリケーションを試してみると、スプリングバッチのrepeateldyは同じジョブスキーマテーブルを繰り返し作成しようとします。
あなたのお手伝いをお待ちしております。
あなたがSpring Bootを使用している場合は、次のようにします。 以下では、必要なデータソースを提供するgetDatasource()メソッドを設定しています。これにより、起動時にデフォルトのデータソースが使用されなくなります。
package com.demo.configuration;
import org.springframework.batch.core.Job;
import org.springframework.batch.core.Step;
import org.springframework.batch.core.StepContribution;
import org.springframework.batch.core.configuration.annotation.EnableBatchProcessing;
import org.springframework.batch.core.configuration.annotation.JobBuilderFactory;
import org.springframework.batch.core.configuration.annotation.StepBuilderFactory;
import org.springframework.batch.core.scope.context.ChunkContext;
import org.springframework.batch.core.step.tasklet.Tasklet;
import org.springframework.batch.repeat.RepeatStatus;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.jdbc.datasource.SimpleDriverDataSource;
import javax.sql.DataSource;
/**
* Created by Sushil Behera on 12/26/2017.
*/
@Configuration
@EnableBatchProcessing
public class BatchConfiguration {
@Autowired
public JobBuilderFactory jobBuilderFactory;
@Autowired
public StepBuilderFactory stepBuilderFactory;
@Bean
public Job job1(){
return jobBuilderFactory.get("job1")
.start(step1())
.build();
}
@Bean
public Step step1(){
return stepBuilderFactory.get("job1step1")
.tasklet(
new Tasklet(){
@Override
public RepeatStatus execute(StepContribution stepContribution, ChunkContext chunkContext) throws Exception {
System.out.println("Tasklet executed");
return RepeatStatus.FINISHED;
}
}
).build();
}
@Bean
@ConfigurationProperties(prefix = "demo.datasource")
public DataSource getDatasource(){
return new SimpleDriverDataSource();
}
}
application.properties
spring.application.name=Demo
spring.datasource.driverClassName=oracle.jdbc.driver.OracleDriver
spring.datasource.url=URL1
spring.datasource.username=ABC
spring.datasource.password=ABC1
demo.datasource.url=URL2
demo.datasource.driverClassName=oracle.jdbc.driver.OracleDriver
demo.datasource.username=XYZ
demo.datasource.password=XYZ1
あなたは春のブートを使用していますか? –