【发布时间】:2015-12-18 18:05:17
【问题描述】:
我正在尝试在 heroku 和 dokku(“开源 heroku”)上部署 Dropwizard 应用程序,但我被困在数据库的配置上。原因是我只从 Heroku 提供了一个单行连接 url:
DATABASE_URL=postgres://postgres:SOME_PASSWORD@172.17.0.1:5432/lolipop
从中获取 DataSourceFactory 到我的配置中的最佳方法是什么?
import com.fasterxml.jackson.annotation.JsonProperty;
import io.dropwizard.Configuration;
import io.dropwizard.db.DataSourceFactory;
import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import java.util.List;
public class MyConfiguration extends Configuration {
@Valid
@NotNull
private DataSourceFactory database = new DataSourceFactory();
private List<String> allowedOrigins;
@JsonProperty("database")
public DataSourceFactory getDataSourceFactory() {
return database;
}
@JsonProperty("database")
public void setDataSourceFactory(DataSourceFactory dataSourceFactory) {
this.database = dataSourceFactory;
}
}
我希望配置文件看起来像这样
database:
driverClass: org.postgresql.Driver
url: ${DATABASE_URL}
【问题讨论】:
-
另一个解决方案将出现在 Dropwizard 0.9.0 中,此时不再需要用户名github.com/dropwizard/dropwizard/pull/1260
标签: java postgresql heroku dropwizard dokku