我正在尝试将一个相当基本的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}"/>
知道我做错了吗?
由于
答案 0 :(得分:1)
您收到的错误似乎表明Spring XML配置中的属性替换字符串实际上并未由Spring处理。您可以在配置中添加PropertyPlaceholderConfigurer
以启用系统环境中的处理:
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="searchSystemEnvironment" value="true" />
...
</bean>