[Spring Batch] DB 연결 Config 클래스 작성
2024. 9. 16. 23:05ㆍ프로그래밍(Backend)/Spring Batch
config 패키지 안에 MetaDBConfig, DataDBConfig 클래스 생성
1. MetaDBConfig.java
@Configuration
public class MetaDBConfig {
// 충돌 방지
@Primary
@Bean
@ConfigurationProperties(prefix = "spring.datasource-meta")
public DataSource metaDBSource() {
return DataSourceBuilder.create().build();
}
@Primary
@Bean
public PlatformTransactionManager metaTranscationManager(){
return new DataSourceTransactionManager(metaDBSource());
}
}
2. DataDBConfig
@Configuration
@EnableJpaRepositories(
basePackages = "com.jongwon.repository",
entityManagerFactoryRef = "dataEntityManager",
transactionManagerRef = "dataTransactionManager"
)
public class DataDBConfig {
@Bean
@ConfigurationProperties(prefix = "spring.datasource-data")
public DataSource dataDBSource(){
return DataSourceBuilder.create().build();
}
@Bean
public LocalContainerEntityManagerFactoryBean dataEntityManager(){
LocalContainerEntityManagerFactoryBean em = new LocalContainerEntityManagerFactoryBean();
em.setDataSource(dataDBSource());
em.setPackagesToScan(new String[]{"com.jongwon.entity"});
em.setJpaVendorAdapter(new HibernateJpaVendorAdapter());
HashMap<String, Object> properties = new HashMap<>();
// properties를 강제적으로 설정 할 수 있다.
properties.put("hibernate.hbm2ddl.auto", "update");
properties.put("hibernate.show_sql", "true");
em.setJpaPropertyMap(properties);
return em;
}
@Bean
public PlatformTransactionManager dataTransactionManager(){
JpaTransactionManager transactionManager = new JpaTransactionManager();
transactionManager.setEntityManagerFactory(dataEntityManager().getObject());
return transactionManager;
}
}
'프로그래밍(Backend) > Spring Batch' 카테고리의 다른 글
[Spring Batch] batch process : 테이블 to 테이블 (0) | 2024.09.17 |
---|---|
[Spring Batch] MetaData 테이블 (2) | 2024.09.16 |
[Spring Batch] 프로젝트 생성 (0) | 2024.09.16 |
[Spring Batch] 인사 관리 시스템에서 스프링 배치 사용 (0) | 2024.09.16 |
[Spring Batch] 스프링 배치 동작 구조 (0) | 2024.09.16 |