在Openshift上的Mysql连接Tomcat 7

时间:2013-08-11 20:09:08

标签: mysql tomcat7 openshift

我在openshift服务器(tomcat,mysql)上部署了应用程序,但我无法连接我的数据库(我使用phpmyadmin来创建数据库和表)。在我的本地主机上,每个人都运作良好。这是我的坚持:

<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="eshopPU" transaction-type="RESOURCE_LOCAL">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<class>foo.domain.Catalog</class>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<properties>
  <property name="javax.persistence.jdbc.url" value="mysql://$OPENSHIFT_MYSQL_DB_HOST:$OPENSHIFT_MYSQL_DB_PORT/katalog"/>
  <property name="javax.persistence.jdbc.password" value="dyfghd"/>
  <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>
  <property name="javax.persistence.jdbc.user" value="abyrewef"/>
  <property name="eclipselink.ddl-generation" value="create-tables"/>
</properties>
</persistence-unit>
</persistence>

服务器日志: org.springframework.beans.factory.BeanCreationException:创建名为'katalogDAO'的bean时出错:注入自动连接的依赖项失败;嵌套异常是org.springframework.beans.factory.BeanCreationException:无法自动装配字段:foo.repositories.KatalogRepository foo.repositories.KatalogDAO.katalogRepository;嵌套异常是org.springframework.beans.factory.BeanCreationException:创建名为'katalogRepository'的bean时出错:持久性依赖项的注入失败;嵌套异常是javax.persistence.PersistenceException:Exception [EclipseLink-4002](Eclipse Persistence Services - 2.3.2.v20111125-r10461):org.eclipse.persistence.exceptions.DatabaseException 内部异常:com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:通信链接失败

我不知道出了什么问题。谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

好的,我解决了这个问题。在persistance.xml和spring配置文件中,我插入了用户和密码(属性),就像我在openshift上的数据库连接中一样。在url属性我把:

value="jdbc:mysql://${OPENSHIFT_MYSQL_DB_HOST}:${OPENSHIFT_MYSQL_DB_PORT}/${OPENSHIFT_APP_NAME}"

并且工作正常(我使用tomcat 7和mysql 5.1,基于spring 3和thymeleaf的应用程序)。