2012-04-21 4 views
1

У меня есть проблема, которая действительно меня подтолкнула. Все отлично работает на локальном хосте, но когда я раскрываю мое приложение на хостинг (Jelastic) сервер (GlassFish 3.1.1)GenericJDBCException: Не удается открыть соединение

Использование:

  • Spring 3.1.1
  • Glassfish 3,1 0,1
  • JSF 2.0
  • JPA 2.0

получить это (сокращенный вариант):

javax.persistence.PersistenceException: org.hibernate.exception.GenericJDBCException: Не удалось открыть подключение

Вызванный: org.hibernate.exception.GenericJDBCException: Не может открытое соединение

Вызвано: javax.resource.spi.ResourceAllocationException: Ошибка при назначении соединения. Причина: Соединение не может быть выделена, так как: Bad рукопожатия

... некоторые другие подобные строки о BAD Рукопожатие и уходят вниз:

Вызванный: com.mysql. jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Bad рукопожатия

Просто упоминая - все работает отлично на локальный:


/WEB-INF/classes/META-INF/persistence.xml

<?xml version="1.0" encoding="UTF-8"?> 
<persistence version="2.0" 
xmlns="http://java.sun.com/xml/ns/persistence" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence 
http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"> 

<persistence-unit name="shopPU" transaction-type="JTA"> 
    <provider>org.hibernate.ejb.HibernatePersistence</provider> 
    <jta-data-source>jdbc/shopJNDI</jta-data-source> 
    <class>com.jelastic.adiso87.Shop.entity.UserDetailEntity</class> 
    <class>com.jelastic.adiso87.Shop.entity.ProductEntity</class> 
    <class>com.jelastic.adiso87.Shop.entity.CategoryEntity</class> 
    <properties> 
     <property name="hibernate.hbm2ddl.auto" value="update"/> 
     <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect"/> 
    </properties> 
</persistence-unit> 
</persistence> 

applicationContext.xml

xlmns для всего 3,0

<!-- CONTEXT CONFIGURATRION --> 
<context:component-scan base-package="com.jelastic.adiso87.Shop" /> 
<context:annotation-config /> 

<!-- PERSISTENCE AND TRANSACTION CONFIGURATION --> 
<jee:jndi-lookup id="myEmf" jndi-name="persistence/shopPU" /> 
<jee:jndi-lookup id="dataSource" jndi-name="shopJNDI" /> 
<bean id="txManager" class="org.springframework.transaction.jta.JtaTransactionManager"> 
    <property name="transactionManagerName" value="java:appserver/TransactionManager" /> 
</bean> 
<tx:annotation-driven transaction-manager="txManager" /> 

<!-- END OF CONFIGURATION --> 

<!-- BEANS --> 
<bean id="userDetailDao" class="com.jelastic.adiso87.Shop.dao.UserDetailDaoImpl"/> 

web.xml

<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
version="3.0" 
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
        http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> 

<display-name>My App</display-name> 
<description>MyProject web.xml</description> 

<!-- Welcome files --> 
<welcome-file-list> 
    <welcome-file>index.jsf</welcome-file> 
</welcome-file-list> 

<!-- Project Stage --> 
<context-param> 
    <param-name>javax.faces.PROJECT_STAGE</param-name> 
    <param-value>Development</param-value> 
</context-param> 


<!-- SPRING FRAMEWORK INTEGERATION --> 
<context-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value>/WEB-INF/applicationContext.xml</param-value> 
</context-param> 
<listener> 
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
</listener> 
<listener> 
    <listener-class> 
     org.springframework.web.context.request.RequestContextListener</listener-class> 
</listener> 
<!-- Log4j CONFIGURATION --> 
<context-param> 
    <param-name>log4jConfigLocation</param-name> 
    <param-value>/WEB-INF/log4j.properties</param-value> 
</context-param> 

<context-param> 
    <param-name>log4jRefreshInterval</param-name> 
    <param-value>1000</param-value> 
</context-param> 

<listener> 
    <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> 
</listener> 


<!-- Use Documents Saved as *.xhtml --> 
<context-param> 
    <param-name>javax.faces.DEFAULT_SUFFIX</param-name> 
    <param-value>.xhtml</param-value> 
</context-param> 

лица-config.xml

<faces-config xmlns="http://java.sun.com/xml/ns/javaee" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd" 
version="2.0"> 

<application> 
    <resource-bundle> 
     <base-name>com.jelastic.adiso87.international.messages</base-name> 
     <var>msg</var> 
    </resource-bundle> 
    <locale-config> 
     <default-locale>pl</default-locale> 
     <supported-locale>en</supported-locale> 
    </locale-config> 

    <el-resolver>org.springframework.web.jsf.el.SpringBeanFacesELResolver</el-resolver> 
</application> 

В GlassFish я уже сделал такую ​​же конфигурацию пулов и ресурсов, как я иметь на моем localhost.Я только изменил информацию о базе данных. Итак, в панели администратора у меня есть Ping Succeed

Может ли кто-нибудь мне помочь?

ответ

1

Я считаю, что это случай этой ошибки: http://bugs.mysql.com/bug.php?id=64983

Решение обновить пароль хэш (ссылка на руководство предоставляется в жука: http://dev.mysql.com/doc/refman/5.5/en/password-hashing.html)

+0

Извините за поздний ответ. Теперь все работает отлично. Я полагаю, что проблема лежала на упругой стороне. В любом случае, спасибо за ваше время. – adiso

Смежные вопросы