Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- datasource.primary.url = <url>
- datasource.primary.username = <user>
- datasource.primary.password = <password>
- datasource.secondary.url = <url>
- datasource.secondary.username = <user>
- datasource.secondary.password = <pass>
- @EnableAutoConfiguration
- @Configuration
- @EntityScan({"com.example.domain","com.example.common.domain"})
- @PropertySource(value = "classpath:application.properties")
- @EnableScheduling
- public class MyApplication {
- public static void main(String[] args) {
- SpringApplication.run(MyApplication.class, args);
- }
- }
- @Configuration
- @EnableJpaRepositories(basePackages = "com.example.repository",
- entityManagerFactoryRef = "primaryEntityManagerFactory",
- transactionManagerRef = "primaryTransactionManager")
- @EnableTransactionManagement
- public class PrimaryConfiguration {
- @Bean
- @ConfigurationProperties(prefix = "datasource.primary")
- @Primary
- public DataSource primaryDataSource()
- {
- return DataSourceBuilder.create().build();
- }
- @Bean
- @Primary
- public LocalContainerEntityManagerFactoryBean primaryEntityManagerFactory(final EntityManagerFactoryBuilder builder)
- {
- return builder
- .dataSource(primaryDataSource())
- .packages("uk.gov.dwp.pss.roc.domain")
- .persistenceUnit("primaryPersistenceUnit")
- .build();
- }
- @Bean
- @Primary
- public JpaTransactionManager primaryTransactionManager(@Qualifier("primaryEntityManagerFactory") final EntityManagerFactory factory)
- {
- return new JpaTransactionManager(factory);
- }
- }
- @Configuration
- @EnableJpaRepositories(basePackages = "com.example.common.repository",
- entityManagerFactoryRef = "secondaryEntityManagerFactory",
- transactionManagerRef = "secondaryTransactionManager")
- @EnableTransactionManagement
- public class SecondaryConfiguration {
- @Bean
- @ConfigurationProperties(prefix = "datasource.secondary")
- public DataSource secondaryDataSource()
- {
- return DataSourceBuilder.create().build();
- }
- @Bean
- public LocalContainerEntityManagerFactoryBean secondaryEntityManagerFactory(final EntityManagerFactoryBuilder builder)
- {
- return builder
- .dataSource(secondaryDataSource())
- .packages("uk.gov.dwp.pss.commons.domain.security")
- .persistenceUnit("secondaryPersistenceUnit")
- .build();
- }
- @Bean
- public JpaTransactionManager secondaryTransactionManager(@Qualifier("secondaryEntityManagerFactory") final EntityManagerFactory factory)
- {
- return new JpaTransactionManager(factory);
- }
- }
- public interface MyRepository extends JpaRepository<MyObject, String>,JpaSpecificationExecutor<MyObject> {
- }
- @SpringApplicationConfiguration(classes = MyApplication.class)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement