如何在 Openshift Tomcat 7 (JBOSS EWS 2.0) 中设置休眠 MySQL 连接?
Posted
技术标签:
【中文标题】如何在 Openshift Tomcat 7 (JBOSS EWS 2.0) 中设置休眠 MySQL 连接?【英文标题】:How to set Hibernate MySQL Connection in Openshift Tomcat 7 (JBOSS EWS 2.0)? 【发布时间】:2016-08-26 05:25:41 【问题描述】:我正在使用 spring hibernate 开发基于 Java 的 Web 应用程序,并且正在尝试使用 OpenShift 来部署我的应用程序。但是我在为 mysql 连接器配置我的应用程序时遇到了麻烦。我在 Maven 依赖项中包含了 mysql-connector。
下面是我的maven的pom.xml
文件的mysql依赖代码:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.25</version>
</dependency>
这是我的 servlet-xml 代码:
<beans:bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<beans:property name="driverClassName" value="com.mysql.jdbc.Driver" />
<beans:property name="url" value="jdbc:mysql://$OPENSHIFT_MYSQL_DB_HOST:$OPENSHIFT_MYSQL_DB_PORT/jbossews" />
<beans:property name="username" value="$OPENSHIFT_MYSQL_DB_USERNAME" />
<beans:property name="password" value="$OPENSHIFT_MYSQL_DB_PASSWORD" />
</beans:bean>
但是当我将它部署到我的 openshift 帐户并点击我的控制器的地址时,它显示以下错误:
HTTP 状态 500 - 请求处理失败;嵌套异常是 org.springframework.transaction.CannotCreateTransactionException: 无法为事务打开 Hibernate Session;嵌套异常是 org.hibernate.exception.GenericJDBCException:无法打开 连接
我一定是在 xml 文件中错误地配置了我的 MySQL 内容。
【问题讨论】:
url
值似乎缺少用于扩展环境变量的大括号。另请注意,JBoss EWS 2.0 带有用于 MySQL 和 PostgreSQL 的 pre-configured data sources;见.openshift/config/context.xml
。
【参考方案1】:
我得到了答案:
$env.OPENSHIFT_MYSQL_DB_HOST:$env.OPENSHIFT_MYSQL_DB_PORT/$env.OPENSHIFT_APP_NAME
这些是 OpesnShift 变量。您不能将它们用于配置。它们应该替换为您为第一个所做的真实值。
【讨论】:
以上是关于如何在 Openshift Tomcat 7 (JBOSS EWS 2.0) 中设置休眠 MySQL 连接?的主要内容,如果未能解决你的问题,请参考以下文章
Tomcat 项目 WAR 未在 OpenShift 中启动
在 openshift 上将 jdbc 连接到 MySql 服务器时出现问题