gpt4 book ai didi

mysql - OpenShift 应用程序无法连接到 MySQL : JDBCConnectionException: Could not open connection

转载 作者:行者123 更新时间:2023-11-29 00:29:38 26 4
gpt4 key购买 nike

我为我的 SpringMVC + Maven + Hibernate + MySQL 应用程序生成了一个 .war 文件,它在本地主机和本地 MySQL 数据库上运行良好。我配置数据库的方式是通过 WebAppConfig.java 文件,该文件查看 application.properties 文件并检索适当的信息。

然后我创建了一个 OpenShift 帐户并部署了该 .war 文件。我添加了 MySQL 和 PHPMyAdmin 墨盒,以便我可以维护数据库。当我尝试通过我的应用程序检索信息或推送到数据库时,我收到此错误。

HTTP Status 500 - Request processing failed; nested exception is org.springframework.transaction.CannotCreateTransactionException: Could not open Hibernate Session for transaction; nested exception is org.hibernate.exception.JDBCConnectionException: Could not open connection

message Request processing failed; nested exception is org.springframework.transaction.CannotCreateTransactionException: Could not open Hibernate Session for transaction; nested exception is org.hibernate.exception.JDBCConnectionException: Could not open connection

exception org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.transaction.CannotCreateTransactionException: Could not open Hibernate Session for transaction; nested exception is org.hibernate.exception.JDBCConnectionException: Could not open connection org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:948) org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:838) javax.servlet.http.HttpServlet.service(HttpServlet.java:641) org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:812) javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

我已经在我的属性文件中为我的数据库添加了适当的信息,所以我认为这不是问题所在。

application.properties

#DB
db.driver = com.mysql.jdbc.Driver
db.url = jdbc:mysql://{OPENSHIFT_MYSQL_DB_HOST}:{OPENSHIFT_MYSQL_DB_PORT}/springmvc
db.username = {OPENSHIFT_MYSQL_DB_USERNAME}
db.password = {OPENSHIFT_MYSQL_DB_PASSWORD}

#Hibernate
hibernate.dialect = org.hibernate.dialect.MySQL5InnoDBDialect
hibernate.show_sql = true
entitymanager.packages.to.scan = org.example.app.model
hibernate.cache.provider_class = org.hibernate.cache.NoCacheProvider

注意:在我的实际代码中,我有实际的 OPENSHIFT_MYSQL_DB_HOST 和 OPENSHIFT_MYSQL_DB_PORT 值,而不是那些占位符!

最佳答案

我忘了实际回答这个问题。

我只想再次澄清,使用“OPENSHIFT”变量而不是将 ACUTAL 值放入 application.properties 可以解决问题。

db.url = jdbc:mysql://${OPENSHIFT_DB_HOST}:${OPENSHIFT_DB_PORT}/${OPENSHIFT_APP_NAME}

db.username = ${OPENSHIFT_MYSQL_DB_USERNAME}

db.password = ${OPENSHIFT_MYSQL_DB_PASSWORD}

关于mysql - OpenShift 应用程序无法连接到 MySQL : JDBCConnectionException: Could not open connection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17204482/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com