gpt4 book ai didi

java - openshift mysql 连接 NumberFormatException 与 Tomcat 7 (JBoss EWS 2.0)

转载 作者:行者123 更新时间:2023-11-29 00:15:02 24 4
gpt4 key购买 nike

我是 openshift 的新手。我创建了一个带有 spring security 的示例应用程序并尝试在其中部署。我的 spring-database.xml 片段如下所示。

<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">

<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://${env.OPENSHIFT_MYSQL_DB_HOST}:${env.OPENSHIFT_MYSQL_DB_PORT}/${env.OPENSHIFT_APP_NAME}" />
<property name="username" value="${env.OPENSHIFT_MYSQL_DB_USERNAME}" />
<property name="password" value="${env.OPENSHIFT_MYSQL_DB_PASSWORD}" />
</bean>

我在云环境中遇到以下异常。

Could not get JDBC Connection; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Cannot load connection class because of underlying exception: 'java.lang.NumberFormatException: For input string: "${env.OPENSHIFT_MYSQL_DB_PORT}"'

以下是我的catrige/gear配置

  • MySQL 5.1
  • Tomcat 7 (JBoss EWS 2.0)

有什么解决方案可以解决这个问题吗?

最佳答案

问题是表达式的使用,如 ${env.OPENSHIFT_MYSQL_DB_HOST}

这些是操作系统环境变量,正如您在异常中看到的那样,Spring 没有尝试读取这些系统环境变量的值,而是试图将其转换为数字。

尝试像 #{systemEnvironment[OPENSHIFT_MYSQL_DB_HOST]} 这样的东西来读取操作系统环境变量。这是一个读取名为 OPENSHIFT_MYSQL_DB_HOST 的系统环境变量的表达式。

关于java - openshift mysql 连接 NumberFormatException 与 Tomcat 7 (JBoss EWS 2.0),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23305771/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com