special0ne
special0ne

Reputation: 6263

SQLException: Illegal connection port value ${env.OPENSHIFT_MYSQL_DB_PORT}

I am trying to deploy a fairly basic Spring+Hibernate web app to my newly created app. (I am new to openshift).

I have followed this example from the knowledge base.

But after deploying the application i am getting

..
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)
..

I have defined the datasource in my applicationcontext.xml

This is the section in my applicationContext.xml that I define the deta shource (eli is the database name)

<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}"/>

Any idea what I am doing wrong?

Thanks

Upvotes: 0

Views: 1043

Answers (1)

Dan Mace
Dan Mace

Reputation: 21

The error you're receiving seems to indicate that the property replacement strings in your Spring XML configuration aren't actually being processed by Spring. You can add a PropertyPlaceholderConfigurer to your configuration to enable processing from the system environment:

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

Upvotes: 1

Related Questions