После развертывания моего приложения Java в IBM Bluemix он не может создать исходное соединение с базой данных из-за этой ошибки:
Создание нового Hibernate SessionFactory 2015-04-11 14:24:04 [main] ОШИБКА ohutil.JDBCExceptionReporter - Не удается создать PoolableConnectionFactory (Ошибка связи связи Последний пакет, успешно отправленный на сервер, был 0 миллисекунд назад. Драйвер не получил никаких пакетов от сервер.)
Я попытался установить "hibernate.current_session_context_class" в "thread" (который решил проблему при развертывании того же приложения в Google Application Engine), но это не помогло с профилем Websphere Liberty:
<prop key="hibernate.current_session_context_class" >
thread
</prop>
Есть идеи?
ОБНОВЛЕНИЕ 1 --- Это основная причина. Bluemix предлагает сервис ClearDB MySQL, но его конвейер не может подключиться к нему :(
Создание нового Hibernate SessionFactory 2015-04-11 15:04:49 [main] ОШИБКА ohutil.JDBCExceptionReporter - Ошибка связи связи
Последний пакет, успешно отправленный на сервер, был 0 миллисекунд назад. Драйвер не получил никаких пакетов с сервера.
ОБНОВЛЕНИЕ 2 --- Даже экспериментальная база данных MySQL также не работает, если есть попытка подключения от конвейерных машин:
ohutil.JDBCExceptionReporter - Не удается создать PoolableConnectionFactory (сбой связи
Последний пакет, успешно отправленный на сервер, был 0 миллисекунд назад. Драйвер не получил никаких пакетов с сервера.) Org.hibernate.exception.GenericJDBCException: Не удается открыть соединение на org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:140) на org.hibe на org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115) на org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75) Вызвано: org.apache.commons.dbcp.SQLNestedException: Can not создать PoolableConnectionFactory (сбой связи
Последний пакет, успешно отправленный на сервер, был 0 миллисекунд назад. Драйвер не получил никаких пакетов с сервера.) На org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1549) на org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388) на org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044) в org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider.getConnection(LocalDataSourceConnectionProvider.java:81) в org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java: 446)... 40 more Причиняется: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: сбой связи
Пожалуйста, дайте мне знать, если у вас есть идеи.
Ах хорошо. Так что это происходит, потому что Liberty buildpack автоматически подключается к JDBC-соединениям во время развертывания в Bluemix. Для модульных тестов вам необходимо будет предоставить эту информацию о подключении к вашему приложению.