Database 是否可以在Dropwizard中配置多个数据库连接?

Database 是否可以在Dropwizard中配置多个数据库连接?,database,hibernate,dropwizard,Database,Hibernate,Dropwizard,我正在编写一些利用Dropwizard的代码,这些代码需要连接到至少两个不同的数据库(我也计划使用Hibernate)。我在.yml配置文件的数据库块中找不到允许我配置两个不同数据库连接的示例/文档。在Dropwizard中可以这样做吗?如果没有,人们过去使用的变通方法是什么。提前感谢您的帮助 您可以在dropwizard中配置多个数据库。在config.yml中,您可以有这样的多个数据库配置 数据库1: driverClass: org.postgresql.Driver user: user

我正在编写一些利用Dropwizard的代码,这些代码需要连接到至少两个不同的数据库(我也计划使用Hibernate)。我在.yml配置文件的数据库块中找不到允许我配置两个不同数据库连接的示例/文档。在Dropwizard中可以这样做吗?如果没有,人们过去使用的变通方法是什么。提前感谢您的帮助

您可以在dropwizard中配置多个数据库。在config.yml中,您可以有这样的多个数据库配置

数据库1:

driverClass: org.postgresql.Driver
user: user
password: pwd
url: jdbc:postgresql://localhost:5432/db1
validationQuery: select 1
minSize: 2
maxSize: 8
数据库2:

driverClass: org.postgresql.Driver
user: user
password: pwd
url: jdbc:postgresql://localhost:5432/db2
validationQuery: select 1
minSize: 2
maxSize: 8
在config类中,获取两个配置详细信息

public class DBConfig extends Configuration {

    private DatabaseConfiguration database1;
    private DatabaseConfiguration database2;

    public DatabaseConfiguration getDatabase1() {
        return database1;
    }

    public DatabaseConfiguration getDatabase2() {
        return database2;
    }
}
并在服务中配置要使用哪个数据库的Dao

@Override
public void run(MyConfiguration configuration,
                Environment environment) throws ClassNotFoundException {
    ... 

    final DBIFactory factory = new DBIFactory();

    // Note that the name parameter when creating the DBIs must be different
    // Otherwise you get an IllegalArgumentException
    final DBI jdbi1 = factory.build(
            environment, configuration.getUserDatabase(), "db1");
    final DBI jdbi2 = factory.build(
            environment, configuration.getItemDatabase(), "db2");

    final MyFirstDAO firstDAO = jdbi1.onDemand(MyFirstDAO.class);
    final MySecondDAO secondDAO = jdbi2.onDemand(MySecondDAO.class);

    ...
}

写信给Dropwizard支持,询问他们或在他们的论坛上询问。谢谢,我会在那里发布。当做