2017-01-06 3 views
0

Я пытаюсь реализовать прослушиватель для postgresql. Когда вы получите соединение с базой данных, он будет работать нормально, если я подключен к моему локальному хосту, но как только я сменил хост на удаленный сервер, он потерпит неудачу.PGDatasource не будет подключаться к удаленному серверу

@Bean 
public DataSource datasource(){ 
    PGDataSource pgDataSource = new PGDataSource(); 
    pgDataSource.setHost(hostname); 
    pgDataSource.setDatabase(database); 
    pgDataSource.setPassword(password); 
    pgDataSource.setPort(Integer.parseInt(port)); 
    pgDataSource.setUser(user); 
    return pgDataSource; 
} 

application.yml

pg: 
connection: 
    host: 127.0.0.1 
    pwd: test 
    usr: test 
    dbs: test 
    port: 5432 

Когда я запускаю слушателя с этими свойствами он работает нормально, но как только я изменить хост это не удается. Я думаю, что это может быть ssl, но нет способа установить ssl в true.

+0

Пожалуйста, пост ошибки вы получите при попытке подключиться к удаленному серверу? Ошибка соединения:: –

+0

com.impossibl.postgres.jdbc.PGSQLSimpleException нет записи pg_hba.conf для хоста «», пользователь «», база данных «», SSL выключен - Я разговаривал с DBA, и он сказал мне, Мне пришлось включить ssl, проблема в том, что ** com.impossibl.postgres.jdbc.PGDataSource **, похоже, не имеет возможности включить его. – Marco

ответ

0

Я должен решить эту ошибку. Мне просто нужно было включить ssl в одном из свойств. Я искал сеттер для ssl в PGDataSource, но поскольку я не нашел никакого метода для этого, я включаю его в имя базы данных.

я сделал следующее:

pg: 
connection: 
    host: remote-host 
    pwd: test 
    usr: test 
    dbs: test?ssl.mode=require 
    port: 5432 
Смежные вопросы