【问题标题】:SQLException: Illegal connection port value ${env.OPENSHIFT_MYSQL_DB_PORT}SQLException: 非法连接端口值 ${env.OPENSHIFT_MYSQL_DB_PORT}
【发布时间】:2013-02-06 01:30:51
【问题描述】:

我正在尝试将一个相当基本的 Spring+Hibernate Web 应用程序部署到我新创建的应用程序中。 (我是openshift的新手)。

我已经关注了知识库中的this 示例。

但是在部署应用程序后我得到了

..
java.sql.SQLException: Illegal connection port value '${env.OPENSHIFT_MYSQL_DB_PORT}'
    com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055)
    com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
    com.mysql.jdbc.SQLError.createSQLException(SQLError.java:926)
    com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2018)
..

我在 applicationcontext.xml 中定义了数据源

这是我在 applicationContext.xml 中定义 deta shource 的部分(eli 是数据库名称)

<bean id="dataSource"
          class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"
          p:driverClassName="${jdbc.driverClassName}"
          p:url="jdbc:mysql://${env.OPENSHIFT_MYSQL_DB_HOST}:${env.OPENSHIFT_MYSQL_DB_PORT}/eli" p:username="${jdbc.username}"
          p:password="${jdbc.password}"/>

知道我做错了什么吗?

谢谢

【问题讨论】:

    标签: database spring hibernate openshift


    【解决方案1】:

    您收到的错误似乎表明 Spring XML 配置中的属性替换字符串实际上并未由 Spring 处理。您可以在配置中添加PropertyPlaceholderConfigurer 以启用系统环境中的处理:

    <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
      <property name="searchSystemEnvironment" value="true" />
      ...
    </bean>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-14
      • 1970-01-01
      • 2016-01-13
      • 1970-01-01
      • 2015-02-14
      相关资源
      最近更新 更多