Примеры из руководства по установке Java EE 6: ошибка JavaDB (java.sql.SqlNonTransientConnectionException: ошибка приема)

Я пытаюсь установить и запустить примеры учебника по Java EE 6. В данном конкретном случае пример тематического исследования Duke's Forest. Нет проблем с первым шагом установки «Создание области JDBC и заполнение базы данных», очевидно, что JavaDB создана и заполнена. Но на втором этапе я получаю следующую ошибку при попытке подключения к JavaDB: «Произошла ошибка при создании базы данных: java.sql.SqlNonTransientConnectionException: обнаружена ошибка связи: программное обеспечение вызвало прерывание соединения: сбой recv..»

Странно то, что хотя подключение JavaDB, кажется, не работает, создание базы данных с использованием «муравья» с учебными сценариями, похоже, работает. Более того, запуск сервера JavaDB, по-видимому, также работает, показывая сообщение о том, что он готов и прослушивает порт 1527.

Аналогичная проблема задана в разделе Получение исключения java.sql.SqlNonTransientConnectionException.

Я использую Windows XP, NetBeans 8.1, JDK 1.7.0_60.


person madvargas    schedule 25.01.2016    source источник
comment
В какой момент вы получите это исключение? Возможно, у вас установлены разные версии Glassfish в Netbeans?   -  person SubOptimal    schedule 25.01.2016
comment
Пункт 5 в туториале (второй шаг), после открытия проекта пытаемся связать источник данных. У меня установлен только один сервер Glassfish.   -  person madvargas    schedule 26.01.2016
comment
Пожалуйста, проверьте следующее. 1) Под Services укажите имя сервера Glassfish. 2) После запуска сервера Glassfish. У вас есть под Resources -> JDBC Resources ресурс с именем jdbc/forest?   -  person SubOptimal    schedule 26.01.2016
comment
Имя сервера GlassFish. У меня нет ресурса с именем jdbc/forest, потому что когда я пытаюсь добавить этот источник данных в проект, появляется ошибка.   -  person madvargas    schedule 26.01.2016


Ответы (1)


Наконец, я нашел проблему. Это немного сложно, хотя сейчас это кажется очевидным. Я использую две разные конфигурации сети для просмотра: одну с использованием прокси-сервера Socks v5 (в Chrome) и одну без прокси-сервера (в Firefox). Тот, что в Chrome, используется по умолчанию для Windows XP, и теперь я знаю, что Netbeans использует его.

Когда я выполнял сценарий ant (шаг 1 в руководстве), я использовал окно командной строки, которое, похоже, не использует сетевую конфигурацию Windows по умолчанию. Так что ошибок у меня не было. Но когда я попытался подключиться из Netbeans, была показана ошибка.

Теперь я исключил прокси-сервер в конфигурации сети по умолчанию, я перезапустил Netbeans, и он работает!

ПРИМЕЧАНИЕ. После этого я нашел «Настройки прокси» в диалоговом окне «Параметры NetBeans». По умолчанию NetBeans устанавливает «Использовать системные настройки прокси». Итак, я думал, что сменив на «Без прокси», все пойдет хорошо, но нет. Соединение с JavaDB работало, но когда я попытался запустить Glassfish, обнаружил, что он использует конфигурацию прокси для сетевого подключения. Я также нашел флажок в диалоговом окне конфигурации сервера NetBeans Glassfish (вкладка Java) под названием «Использовать параметры прокси-сервера IDE», который, похоже, был связан с этим вопросом, но после нескольких тестов я обнаружил, что он не работает.

person madvargas    schedule 26.01.2016