@Configuration
@EnableTransactionManagement
@EnableJpaRepositories(basePackages = "br.com.xyz.univers.ms.universcontractsync.repository.universcontract",
entityManagerFactoryRef = "universContractEntityManagerFactory",
transactionManagerRef= "universContractTransactionManager"
)
public class UniversContractDatasourceConfiguration {
@Bean
@ConfigurationProperties("app.datasource.universcontract")
public DataSourceProperties universContractDataSourceProperties() {
return new DataSourceProperties();
}
@Bean
@ConfigurationProperties("app.datasource.universcontract.hikari")
public DataSource universContractDataSource() {
return universContractDataSourceProperties().initializeDataSourceBuilder()
.type(HikariDataSource.class).build();
}
@Bean(name = "universContractEntityManagerFactory")
public LocalContainerEntityManagerFactoryBean universContractEntityManagerFactory(
EntityManagerFactoryBuilder builder) {
return builder
.dataSource(universContractDataSource())
.packages("br.com.xyz.univers.ms.universcontractsync.models.universcontract")
.build();
}
@Bean(name = "universContractTransactionManager")
public PlatformTransactionManager universContractTransactionManager(
final @Qualifier("universContractEntityManagerFactory") LocalContainerEntityManagerFactoryBean universContractEntityManagerFactory) {
if (universContractEntityManagerFactory == null) {
throw new SyncUnknowException("universContractEntityManagerFactory is null");
}
EntityManagerFactory entityManagerFactory = universContractEntityManagerFactory.getObject();
if (entityManagerFactory == null) {
throw new SyncUnknowException("entityManagerFactory is null");
}
return new JpaTransactionManager(entityManagerFactory);
}
}
< /code>
[b] Das Problem ist, wie kann ich die Transaktion steuern, wenn eine Methode die beiden Datenbanken aufruft. Es ist notwendig, weil meine Methode alle Datenbanken benötigt. [/b]
Beispiel die Methode:
@Override
@Transactional("chainedTransactionManager")
public void save(CompanyDTO companyDTO) {
log.info("method=save ' - CompanyServiceImpl");
CompanyDTO companyDTOWithLegacyCode = companyDTO.toBuilder().build();
legacyCodeService.changeToLegacyCode(companyDTOWithLegacyCode);
Company company = companyBuilder.universContractDtoToSisbfEntity(companyDTOWithLegacyCode);
companyRepository.save(company);
legacyCodeService.updateLegacyCode(ClassTypeEnum.COMPANY, companyDTO.getCompanyCode(), company.getCompanyCode());
log.info("finish method=save ' - CompanyServiceImpl");
}
Ich habe zwei verschiedene Datenbanken Oracle.[code]@Configuration @EnableTransactionManagement @EnableJpaRepositories(basePackages = "br.com.xyz.univers.ms.universcontractsync.repository.universcontract", entityManagerFactoryRef = "universContractEntityManagerFactory", transactionManagerRef= "universContractTransactionManager" ) public class UniversContractDatasourceConfiguration {
@Bean @ConfigurationProperties("app.datasource.universcontract") public DataSourceProperties universContractDataSourceProperties() { return new DataSourceProperties(); } @Bean @ConfigurationProperties("app.datasource.universcontract.hikari") public DataSource universContractDataSource() { return universContractDataSourceProperties().initializeDataSourceBuilder() .type(HikariDataSource.class).build(); }
@Bean(name = "universContractTransactionManager") public PlatformTransactionManager universContractTransactionManager( final @Qualifier("universContractEntityManagerFactory") LocalContainerEntityManagerFactoryBean universContractEntityManagerFactory) { if (universContractEntityManagerFactory == null) { throw new SyncUnknowException("universContractEntityManagerFactory is null"); } EntityManagerFactory entityManagerFactory = universContractEntityManagerFactory.getObject(); if (entityManagerFactory == null) { throw new SyncUnknowException("entityManagerFactory is null"); } return new JpaTransactionManager(entityManagerFactory); } } < /code> [b] Das Problem ist, wie kann ich die Transaktion steuern, wenn eine Methode die beiden Datenbanken aufruft. Es ist notwendig, weil meine Methode alle Datenbanken benötigt. [/b] Beispiel die Methode: @Override @Transactional("chainedTransactionManager") public void save(CompanyDTO companyDTO) { log.info("method=save ' - CompanyServiceImpl"); CompanyDTO companyDTOWithLegacyCode = companyDTO.toBuilder().build(); legacyCodeService.changeToLegacyCode(companyDTOWithLegacyCode); Company company = companyBuilder.universContractDtoToSisbfEntity(companyDTOWithLegacyCode); companyRepository.save(company); legacyCodeService.updateLegacyCode(ClassTypeEnum.COMPANY, companyDTO.getCompanyCode(), company.getCompanyCode()); log.info("finish method=save ' - CompanyServiceImpl"); } [/code]
Ich habe einen Set set1 und set set2 sowie 2 Funktionen getSet1ElementsCore (Zeichenfolge S) und getSet2ElementsCore (String) (Diese Rückgabezahlen) und alle Elemente aus beiden Sätzen in einen...
Ich habe zwei Tabellen in zwei separaten Oracle-Datenbanken (keine Schemata), die ich in Hibernate zusammenführen muss. Derzeit werden zwei Hibernate-Sitzungen an die separaten Datenbanken gesendet....
Jetzt programmiere ich meine Java-Anwendung auf Spring (MVC). Brauche Hilfe beim Code. Das ist ein CRM-System. Webprojekt. Für das eine Unternehmen wird es eine Basis geben, für das andere eine...
Wenn wir in Gnuplot den Raum zwischen zwei Kurven füllen, tun wir Folgendes:
plot data using 1:2,/
data using 1:3,/
data using 1:2:3 with filledcurves,\
data2 using 1:2,/
data2 using 1:4,/...
Ich habe den folgenden Code -Teil implementiert:
public void computeAllBilling() {
orderRepository.getAll().parallel().forEach(ordreEntity -> {
Billing billing = computedBilling(orderEntity);...