【问题标题】:How to set Hibernate MySQL Connection in Openshift Tomcat 7 (JBOSS EWS 2.0)?如何在 Openshift Tomcat 7 (JBOSS EWS 2.0) 中设置休眠 MySQL 连接?
【发布时间】: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

标签: mysql spring hibernate maven openshift


【解决方案1】:

我得到了答案:

${env.OPENSHIFT_MYSQL_DB_HOST}:${env.OPENSHIFT_MYSQL_DB_PORT}/${env‌​.OPENSHIFT_APP_NAME}

这些是 OpesnShift 变量。您不能将它们用于配置。它们应该替换为您为第一个所做的真实值。

【讨论】:

    猜你喜欢
    • 2014-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多