Revize 37a08e26
Přidáno uživatelem stepanekp před asi 2 roky(ů)
src/main/java/cz/zcu/fav/kiv/antipatterndetectionapp/v2/config/AuthDbConfig.java | ||
---|---|---|
1 |
package cz.zcu.fav.kiv.antipatterndetectionapp.v2.config; |
|
2 |
|
|
3 |
import javax.persistence.EntityManagerFactory; |
|
4 |
import javax.sql.DataSource; |
|
5 |
|
|
6 |
import org.springframework.beans.factory.annotation.Qualifier; |
|
7 |
import org.springframework.boot.context.properties.ConfigurationProperties; |
|
8 |
import org.springframework.boot.jdbc.DataSourceBuilder; |
|
9 |
import org.springframework.boot.orm.jpa.EntityManagerFactoryBuilder; |
|
10 |
import org.springframework.context.annotation.Bean; |
|
11 |
import org.springframework.context.annotation.Configuration; |
|
12 |
import org.springframework.data.jpa.repository.config.EnableJpaRepositories; |
|
13 |
import org.springframework.orm.jpa.JpaTransactionManager; |
|
14 |
import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean; |
|
15 |
import org.springframework.transaction.PlatformTransactionManager; |
|
16 |
import org.springframework.transaction.annotation.EnableTransactionManagement; |
|
17 |
|
|
18 |
@Configuration |
|
19 |
@EnableTransactionManagement |
|
20 |
@EnableJpaRepositories( |
|
21 |
entityManagerFactoryRef = "secondaryEntityManagerFactory", |
|
22 |
transactionManagerRef = "secondaryTransactionManager", |
|
23 |
basePackages = { "cz.zcu.fav.kiv.antipatterndetectionapp.v2.repository" } |
|
24 |
) |
|
25 |
public class AuthDbConfig { |
|
26 |
|
|
27 |
@Bean(name="secondaryDataSource") |
|
28 |
@ConfigurationProperties(prefix="spring.second-datasource") |
|
29 |
public DataSource secondaryDataSource() { |
|
30 |
return DataSourceBuilder.create().build(); |
|
31 |
} |
|
32 |
|
|
33 |
@Bean(name = "secondaryEntityManagerFactory") |
|
34 |
public LocalContainerEntityManagerFactoryBean secondaryEntityManagerFactory(EntityManagerFactoryBuilder builder, |
|
35 |
@Qualifier("secondaryDataSource") DataSource secondaryDataSource) { |
|
36 |
return builder |
|
37 |
.dataSource(secondaryDataSource) |
|
38 |
.packages("cz.zcu.fav.kiv.antipatterndetectionapp.v2.model") |
|
39 |
.build(); |
|
40 |
} |
|
41 |
|
|
42 |
@Bean(name = "secondaryTransactionManager") |
|
43 |
public PlatformTransactionManager secondaryTransactionManager( |
|
44 |
@Qualifier("secondaryEntityManagerFactory") EntityManagerFactory secondaryEntityManagerFactory) { |
|
45 |
return new JpaTransactionManager(secondaryEntityManagerFactory); |
|
46 |
} |
|
47 |
} |
src/main/java/cz/zcu/fav/kiv/antipatterndetectionapp/v2/config/ProjectsDbConfig.java | ||
---|---|---|
1 |
package cz.zcu.fav.kiv.antipatterndetectionapp.v2.config; |
|
2 |
|
|
3 |
import org.springframework.beans.factory.annotation.Qualifier; |
|
4 |
import org.springframework.boot.context.properties.ConfigurationProperties; |
|
5 |
import org.springframework.boot.jdbc.DataSourceBuilder; |
|
6 |
import org.springframework.boot.orm.jpa.EntityManagerFactoryBuilder; |
|
7 |
import org.springframework.context.annotation.Bean; |
|
8 |
import org.springframework.context.annotation.Configuration; |
|
9 |
import org.springframework.context.annotation.Primary; |
|
10 |
import org.springframework.data.jpa.repository.config.EnableJpaRepositories; |
|
11 |
import org.springframework.orm.jpa.JpaTransactionManager; |
|
12 |
import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean; |
|
13 |
import org.springframework.transaction.PlatformTransactionManager; |
|
14 |
import org.springframework.transaction.annotation.EnableTransactionManagement; |
|
15 |
|
|
16 |
import javax.persistence.EntityManagerFactory; |
|
17 |
import javax.sql.DataSource; |
|
18 |
|
|
19 |
@Configuration |
|
20 |
@EnableTransactionManagement |
|
21 |
@EnableJpaRepositories( |
|
22 |
entityManagerFactoryRef = "primaryEntityManagerFactory", |
|
23 |
transactionManagerRef = "primaryTransactionManager", |
|
24 |
basePackages = { |
|
25 |
"cz.zcu.fav.kiv.antipatterndetectionapp.repository" |
|
26 |
} |
|
27 |
) |
|
28 |
public class ProjectsDbConfig { |
|
29 |
|
|
30 |
@Primary |
|
31 |
@Bean(name = "primaryDataSource") |
|
32 |
@ConfigurationProperties(prefix = "spring.datasource") |
|
33 |
public DataSource customerDataSource() { |
|
34 |
return DataSourceBuilder.create().build(); |
|
35 |
} |
|
36 |
|
|
37 |
@Primary |
|
38 |
@Bean(name = "primaryEntityManagerFactory") |
|
39 |
public LocalContainerEntityManagerFactoryBean |
|
40 |
entityManagerFactory( |
|
41 |
EntityManagerFactoryBuilder builder, |
|
42 |
@Qualifier("primaryDataSource") DataSource dataSource) { |
|
43 |
return builder.dataSource(dataSource).packages("cz.zcu.fav.kiv.antipatterndetectionapp.model").build(); |
|
44 |
} |
|
45 |
|
|
46 |
@Primary |
|
47 |
@Bean(name = "primaryTransactionManager") |
|
48 |
public PlatformTransactionManager customerTransactionManager( |
|
49 |
@Qualifier("primaryEntityManagerFactory") EntityManagerFactory customerEntityManagerFactory ) { |
|
50 |
return new JpaTransactionManager(customerEntityManagerFactory); |
|
51 |
} |
|
52 |
} |
Také k dispozici: Unified diff
#10237 Vytvoření konfiguračních souborů pro obě databáze.