我到处寻找这个问题的答案。我在SO上发现similar (unanswered) question但与Java或SSL问题无关。
重要信息:
+ "?ssl=true"
参数。我怀疑它与SSL有关,但无法确认。
这是我的联系(很标准):
String dbUriString = ConfigUtils.getEnv("DATABASE_URL");
URI dbUri = new URI(dbUriString);
String username = dbUri.getUserInfo().split(":")[0];
String password = dbUri.getUserInfo().split(":")[1];
String dbUrl = "jdbc:postgresql://" + dbUri.getHost() + ':' + dbUri.getPort() + dbUri.getPath() + "?ssl=true";
ComboPooledDataSource datasource = new ComboPooledDataSource();
datasource.setUser(username);
datasource.setPassword(password);
datasource.setJdbcUrl(dbUrl);
datasource.setDriverClass("org.postgresql.Driver");
datasource.setMaxPoolSize(20);
datasource.setMinPoolSize(5);
datasource.setAcquireIncrement(1);
datasource.setAcquireRetryAttempts(3);
datasource.setInitialPoolSize(5);
datasource.setTestConnectionOnCheckout(true);
return datasource;
更多信息:
非常感谢任何帮助。