Как установить соединение с вторичной базой данных после вызова API?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как установить соединение с вторичной базой данных после вызова API?

Сообщение Anonymous »

Как мы можем установить соединение с вторичной базой данных после вызова API. В настоящее время база данных устанавливает соединение во время выполнения.
Ниже приведены примеры кода.
Код контроллера: >

Код: Выделить всё

  @GetMapping("/updateSecondaryDatabase")
public ResponseEntity updateSecondaryDatabase(@RequestParam Long propertyId) {
return dashboardService.updateSecondaryDatabaseConnection(propertyId);
}
код реализации:

Код: Выделить всё

public ResponseEntity updateSecondaryDatabaseConnection(Long propertyId) {
Optional configOpt = networkConfigurationRepository
.findByPropertyIdAndIsActiveAndIsDelete(propertyId, true, false);
if (configOpt.isPresent()) {
NetworkConfiguration config = configOpt.get();
String dbUrl = "jdbc:mysql://" + config.getIpAddress() + config.getDbName()
+ "?useSSL=false&useUnicode=true&characterEncoding=utf-8";
String dbUser = config.getDbUser();
String dbPassword = config.getDbPassword();
return ResponseEntity.ok("Database connection updated successfully.");
} else {
System.err.println("No configuration found for propertyId: " + propertyId);
return ResponseEntity.status(404).body("No configuration found for propertyId: " + propertyId);
}
}
Здесь мы получаем все данные в ответ.
Код подключения вторичной базы данных:

Код: Выделить всё

package com.wairport.app.config;

import javax.persistence.EntityManagerFactory;
import javax.sql.DataSource;

import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.orm.jpa.EntityManagerFactoryBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
import org.springframework.jdbc.datasource.DriverManagerDataSource;
import org.springframework.orm.jpa.JpaTransactionManager;
import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
import org.springframework.transaction.PlatformTransactionManager;

@Configuration
@EnableJpaRepositories(
basePackages = "com.wairport.app.secondary.repository",
entityManagerFactoryRef = "secondEntityManagerFactory",
transactionManagerRef = "secondTransactionManager"
)
public class SecondDataSourceConfig {

@Bean(name = "secondDataSource")
public DataSource secondDataSource() {
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName("com.mysql.cj.jdbc.Driver"); // Updated
dataSource.setUrl("jdbc:mysql://localhost:3306/radius?useSSL=false&useUnicode=true&characterEncoding=utf-8"); // Ensure this URL is correct
dataSource.setUsername("root");
dataSource.setPassword("root123");
return dataSource;
}

@Bean(name = "secondEntityManagerFactory")
public LocalContainerEntityManagerFactoryBean secondEntityManagerFactory(
EntityManagerFactoryBuilder builder, @Qualifier("secondDataSource") DataSource dataSource) {
return builder
.dataSource(dataSource)
.packages("com.wairport.app.secondary.model") // Ensure this is the correct package for your secondary entities
.persistenceUnit("second")
.build();
}

@Bean(name = "secondTransactionManager")
public PlatformTransactionManager secondTransactionManager(
@Qualifier("secondEntityManagerFactory") EntityManagerFactory secondEntityManagerFactory) {
return new JpaTransactionManager(secondEntityManagerFactory);
}
}
Это код подключения к вторичной базе данных. Это соединение должно установиться после вызова API, и какой ответ я получаю, который должен передаваться в dburl, например dbname, URL, dbusername и dbpassowrd. в настоящее время соединение устанавливается во время выполнения.
Могу ли я получить решение этой проблемы?
Спасибо.

Подробнее здесь: https://stackoverflow.com/questions/792 ... r-api-call
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»