Мой файл application.yml выглядит примерно так:
spring:
profiles: environment
jpa:
database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
hibernate:
ddl-auto: none
datasource:
url: jdbc:mysql://myUrl
username: master
driver-class-name: "com.mysql.cj.jdbc.Driver"
Мой класс DatabaseConnection выглядит примерно так:
@Component
public class DatabaseManager {
public static final String CONTEXT_KEY = "context";
public static final String CONTEXT_VALUE = "myContext";
public static final String TABLE_NAME = "my-credential-store";
public static final String CREDENTIAL = "mydb.password";
public static final String WRITE_ENDPOINT_OUTPUT = "mydbwriteendpoint";
public static final String DATASOURCE_URL = "spring.datasource.url";
public static final String DATASOURCE_PASSWORD = "spring.datasource.password";
public static void createConnection() throws Exception {
JCredStash jCredStash = null;
try {
Map<String, String> context = new HashMap<>();
context.put(CONTEXT_KEY, CONTEXT_VALUE);
jCredStash = new JCredStash(TABLE_NAME);
String secret = jCredStash.getSecret(CREDENTIAL, context);
String writeEndpoint = jCredStash.getSecret(WRITE_ENDPOINT_OUTPUT, context);
System.setProperty(DATASOURCE_URL,
"jdbc:mysql://" + writeEndpoint + ":port/mydb");
System.setProperty(DATASOURCE_PASSWORD, secret);
} catch (Exception e) {
System.out.println(e.getMessage());
} finally {
if (jCredStash != null)
jCredStash.close();
}
}
}
Здесь я получаю пароль БД от AWS Cred Sta sh. Все отлично работает для базы данных "mydb". Теперь я создал другую базу данных с именем «mydb1» в том же экземпляре URL с тем же именем пользователя и паролем. Я пробовал несколько вариантов, таких как создание другого источника данных, но ни один из них не работал для меня. Кто-нибудь может подсказать мне, как я могу создать соединение с "mydb1" вместе с "mydb"? Спасибо