Heroku 上的 Dropwizard DataSourceFactory 仅 DATABASE_URL
Dropwizard DataSourceFactory on Heroku with just DATABASE_URL
我正在尝试在 heroku 和 dokku ("open-source 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}
尝试在 Heroku 上使用 JDBC_DATABASE_URL
,如 Connecting to Relational Databases on Heroku with Java
中所述
但是,如果您更愿意自己解析 DATABASE_URL
(因为它是规范表示),您可以使用 heroku-jdbc 库。
我正在尝试在 heroku 和 dokku ("open-source 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}
尝试在 Heroku 上使用 JDBC_DATABASE_URL
,如 Connecting to Relational Databases on Heroku with Java
但是,如果您更愿意自己解析 DATABASE_URL
(因为它是规范表示),您可以使用 heroku-jdbc 库。