【发布时间】:2014-01-22 12:19:24
【问题描述】:
我正在尝试建立与 MySQL 的基本 JDBC 连接。我在 openshift 服务器(tomcat7、mysql)上部署了应用程序,但我无法连接到我的数据库(我使用 phpmyadmin 创建数据库和表)。我正在使用 Spring 3.1 MVC、JSF 和 Primefaces。
前段时间我部署了一个简单的 java web 应用程序,我使用了一个类连接:
String driver = "com.mysql.jdbc.Driver";
String host = System.getenv("OPENSHIFT_MYSQL_DB_HOST");
String port = System.getenv("OPENSHIFT_MYSQL_DB_PORT");
String url = "jdbc:mysql://"+host+":"+port+"/demo01";
String user = "adminujFVYBF";
String password = "EIyNRbHNBxN_";
这次我想在 Spring MVC 中使用 jdbc.properties 文件来管理值
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc:mysql://${OPENSHIFT_MYSQL_DB_HOST}:${OPENSHIFT_MYSQL_DB_PORT)}/libreriaapp
jdbc.username=adminCnH8p6r
jdbc.password=EhBHSvIqHFAz
所以我试图弄清楚如何在 jdbc url 中使用环境变量以使我的数据库正常工作,但没有成功。
这是我的应用程序上下文
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.1.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.1.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.1.xsd">
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"
p:location="/WEB-INF/jdbc.properties" />
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource"
p:driverClassName="${jdbc.driverClassName}"
p:url="${jdbc.url}"
p:username="${jdbc.username}"
p:password="${jdbc.password}" />
<context:component-scan base-package="pe.egcc.eureka.app.layer.controller"/>
</beans>
[项目存储库] https://github.com/cachuan07/libreriaapp1
如果有人能指出我正确的方向,那就太好了。很抱歉这篇文章很大,它需要一些解释才能使其连贯。希望这是有道理的。谢谢。
【问题讨论】:
-
您的上下文文件和您的错误之间存在不准确之处。是
${env.OPENSHIFT_MYSQL_DB_HOST}还是$OPENSHIFT_MYSQL_DB_HOST? -
当你
echo $OPENSHIFT_MYSQL_DB_PORT时会发生什么? -
我更新了问题以使其更清晰
-
你真的在设置名为
OPENSHIFT_MYSQL_DB_HOST的环境属性吗? -
我只是关注示例,第一次工作没有设置它,我有类似的问题link
标签: java mysql spring jsf openshift