Как иметь два подключения к базе данных в одном файле конфигурации - PullRequest
0 голосов
/ 26 июня 2019

У меня есть класс, который выглядит так:

package com.mycom.mycust.mysql.dbconnection;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;

@Configuration
@ConfigurationProperties("mysql")
public class ConnectionProperties {

    private String db1Url;
    private String db2Url;
    private String username;
    private String password;

    public String getDb1Url() {
        return db1Url;
    }

    public void setDb1Url(String url) {
        db1Url = url;
    }

    public String getDb2Url() {
        return db2Url;
    }

    public void setDb2Url(String url) {
        db2Url = url;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}

Он получает свою конфигурацию из файла, расположенного в mycust / config / application.properties:

mysql.db1Url=jdbc:mysql://index.prod.cr:1234/db1
mysql.db2Url=jdbc:mysql://index.prod.cr:1234/db2
mysql.username=mycom
mysql.password=mypass

Как видите, этот файл содержит два разных URL: s. Кроме того, существует файл mycust / mysql-parent / object-mapper / src / main / resources / application.properties, который, по-видимому, выполняет функцию присвоения имен каждой части ранее показанного файла конфигурации:

# Connection settings for prod MySQL database
mysql.db1Url=jdbc:mysql://host:port/database
mysql.db2Url=jdbc:mysql://host:port/database
mysql.username=username
mysql.password=password

Когда я запускаю jar своего приложения, я вижу, что строка "port" из файла выше была использована в качестве номера порта, что, очевидно, неверно. Если я помещу все учетные данные mycust / config / application.properties в mycust / mysql-parent / object-mapper / src / main / resources / application.properties, будут найдены правильные учетные данные, но я не думаю, что именно так Программа предназначена для запуска. Ранее, когда я подключался только к одной базе данных, mycust / mysql-parent / object-mapper / src / main / resources / application.properties содержал только имена-заполнители всех учетных данных, которые mycust / config / application.properties имели действительные учетные данные , Почему эта настройка не работает сейчас, когда у меня есть две базы данных, к которым я подключаюсь?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...