Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Openshift上的Mysql连接Tomcat 7_Mysql_Tomcat7_Openshift - Fatal编程技术网

Openshift上的Mysql连接Tomcat 7

Openshift上的Mysql连接Tomcat 7,mysql,tomcat7,openshift,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://ja

我在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.katalogrespository foo.repositories.KatalogDAO.katalogrespository;嵌套异常为org.springframework.beans.factory.BeanCreationException:创建名为“katalogrespository”的bean时出错:注入持久性依赖项失败;嵌套异常是javax.persistence.PersistenceException:exception[EclipseLink-4002]Eclipse持久性服务-2.3.2.v20111125-r10461:org.Eclipse.persistence.exceptions.DatabaseException 内部异常:com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:通信链路故障


我不知道怎么了。谢谢你的帮助。

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

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

我使用tomcat 7和mysql 5.1,这是一款基于spring 3和thymeleaf的应用程序。

您使用的是JBoss EWS 2.0盒带吗?如果是这样的话,在您的repo的.openshift/config/context.xml文件中有一个预配置的DS,其中包含以下内容:抱歉格式化。注意,dbname是您的$appName,以及db用户creds的env变量。我有jboss as 7 app,myapp-tjava.rhcloud.com,我在我的context.xml中使用它,rhcloud服务器上出现一个空白屏幕:在本地我看到一个异常逻辑,但其他资源(如form.html)正在工作。当我在本地替换openshift变量时,它正在工作,我使用Tomcat为什么它不能与Jboss AS 7一起工作,而只能与Jboss Ews 2.0一起使用context.xml?你能改变吗?有一个很好的线程,但是它没有处理mysql资源元素。我也在尝试使用Spring和Hibernate部署基于Tomcat和mysql的webapp。我在使用OpenShift提供的默认数据源时遇到问题,因为我已经有了自己的文件和文件夹配置。我的应用程序正在本地主机上运行。JBoss日志中也显示了此异常:…JDBC驱动程序[com.mysql.JDBC.driver]在web应用程序停止时未能注销。为了防止内存泄漏,JDBC驱动程序已被强制注销。你能给我一些关于如何配置我的项目以使用默认DS的指导吗?