2015-05-19 3 views
2

Я только что обновил java с 7 по 8. Все тестовые примеры не удалось подключиться к локальной базе данных.Java 8 InetAddress.getHostName не работает для localhost

Я узнал об ошибке, связанном с обновлением java 8, и указывает на проблему «localhost», поэтому я изменяю localhost на 127.0.0.1 для всех URL-адресов базы данных. Тогда это работает.

https://jira.atlassian.com/browse/CWD-3981

поведение InetAddress.getHostName изменилось ява 7-> 8 эффекта , что в 8 он возвращает Localhost, если у вас есть FQHN из локального хоста в качестве первого псевдонима в/и т.д./хостов

Согласно этой ссылке, я могу использовать localhost, если я правильно установил/etc/hosts. Вот мой/etc/hosts:

127.0.0.1 localhost.localdomain localhost 
255.255.255.255 broadcasthost 
::1    localhost 
fe80::1%lo0 localhost 

Это правильные настройки?

Это мой URL-адрес базы данных в application.conf.

+1

У меня нет вашего вопроса. Приведенное предложение говорит, что 'getHostName' * does * возвращает' 'localhost '' *, если вы не предпринимаете действия для достижения чего-то другого. Почему вы думаете, что вам нужно что-то сделать, если вы * хотите * использовать '" localhost "? – Holger

+0

Я отредактировал вопрос. Это всего лишь одно сообщение, которое я нашел связанным с ошибкой, которую я получил. Затем я меняю URL-адрес базы данных в application.conf с localhost на 127.0.0.1, теперь он работает. Но я хочу знать, почему. – angelokh

ответ

0

Я не уверен, если вызов getHostName производится во время подключения к базе данных ..

Пытались ли вы с «JDBC» на адрес соединения?

Из документации:

# Default database configuration using PostgreSQL database engine 
db.default.driver=org.postgresql.Driver 
db.default.url="jdbc:postgresql://database.example.com/playdb" 

Так что я предполагаю, ваш будет выглядеть примерно так:

db.default.url="jdbc:postgresql://localhost/prdata" 

Я попытался с игрой-2,4 + Java 8 приложений, и я получаю «Конфигурация ошибка [Не удается подключиться к базе данных] ", если« jdbc »нет.