【发布时间】:2014-05-06 19:26:15
【问题描述】:
我已经解决了这方面的现有问题,但仍然不满意。
要添加多个数据库配置,以下是我目前得到的信息 -
1) 更新 config.yml 文件 -
database1:
driverClass: com.mysql.jdbc.Driver
user: user1
password: user!23
url: jdbc:mysql://url.to.connect:3306/db1
properties: charSet: UTF-8
maxWaitForConnection: 1s
validationQuery: "/* MyService Health Check */ SELECT 1"
minSize: 8
maxSize: 32
checkConnectionWhileIdle: false
checkConnectionHealthWhenIdleFor: 10s
closeConnectionIfIdleFor: 1 minute
database2:
driverClass: com.mysql.jdbc.Driver
user: user2
password: user!23
url: jdbc:mysql://url.to.connect:3306/db2
properties: charSet: UTF-8
maxWaitForConnection: 1s
validationQuery: "/* MyService Health Check */ SELECT 1"
minSize: 8
maxSize: 32
checkConnectionWhileIdle: false
checkConnectionHealthWhenIdleFor: 10s
closeConnectionIfIdleFor: 1 minute
2) 将更改添加到 java 配置文件。
public class DropWizardConfiguration extends Configuration{
@Valid
@NotNull
@JsonProperty
private DatabaseConfiguration database1 = new DatabaseConfiguration();
@Valid
@NotNull
@JsonProperty
private DatabaseConfiguration database2 = new DatabaseConfiguration();
public DatabaseConfiguration getDatabaseConfiguration1()
{
return database1;
}
public DatabaseConfiguration getDatabaseConfiguration2()
{
return database2;
}
}
3) 在这一步中,我应该更新 DropWizard 服务以处理相应的数据库实例。
public class DropWizardService extends Service<DropWizardConfiguration>{
private final HibernateBundle<DropWizardConfiguration> hibernate = new HibernateBundle<DropWizardConfiguration>(Game.class) {
// @Override
public DatabaseConfiguration getDatabaseConfiguration(DropWizardConfiguration configuration){
return configuration.getDatabaseConfiguration();
}
};
@Override
public void initialize(Bootstrap<DropWizardConfiguration> bootstrap) {
bootstrap.addBundle(hibernate);
}
public void run() throws Exception{
this.run(new String[]{"server", "./config.yml"});
}
@Override
public void run(DropWizardConfiguration configuration, Environment environment) throws Exception {
SessionFactory factory = hibernate.getSessionFactory();
environment.addResource(new MyResource(factory));
}
}
但这是我要进入黑盒的地方,我不确定要更改什么配置或如何更改!
欣赏一些意见。
【问题讨论】:
标签: java dropwizard