前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >druid 数据源 使用属性文件的一个坑

druid 数据源 使用属性文件的一个坑

作者头像
菩提树下的杨过
发布2018-01-18 17:44:41
1.5K1
发布2018-01-18 17:44:41
举报

直接上代码:

代码语言:javascript
复制
<bean id="propertiesFactoryBean"
          class="org.springframework.beans.factory.config.PropertiesFactoryBean">
        <property name="locations">
            <list>
                <value>classpath*:properties/druid.properties</value>
            </list>
        </property>
    </bean>

    <context:property-placeholder properties-ref="propertiesFactoryBean"/>

    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"
          init-method="init" destroy-method="close">
        <property name="url" value="${jdbc-url}"/>
        <property name="username" value="${username}"/>
        <property name="password" value="${jdbc-pwd}"/>
        <property name="initialSize" value="1"/>
        <property name="minIdle" value="1"/>
        <property name="maxActive" value="20"/>
        <property name="maxWait" value="60000"/>
        <property name="timeBetweenEvictionRunsMillis" value="60000"/>
        <property name="minEvictableIdleTimeMillis" value="300000"/>
        <property name="validationQuery" value="select 1 from dual"/>
        <property name="testWhileIdle" value="true"/>
        <property name="testOnBorrow" value="false"/>
        <property name="testOnReturn" value="false"/>
        <property name="poolPreparedStatements" value="true"/>
        <property name="maxPoolPreparedStatementPerConnectionSize" value="20"/>
        <property name="filters" value="stat" />
    </bean>

上面配置了一个druid数据源,其中url,username,password从属性文件druid.properties读取,该属性文件内容如下:

代码语言:javascript
复制
jdbc-url=jdbc:oracle:thin:@localhost:1521:orcl
jdbc-driver=oracle.jdbc.driver.OracleDriver
username=test
jdbc-pwd=123456

发现死活连接不上,一直提示:

java.sql.SQLException: ORA-01017: invalid username/password; logon denied

但其实用户名、密码是对的,可以用pl/sql developer之类的工具连上oracle,正当快要崩溃的时候,把druid.properties中的username=test,换了个名字,改成:

jdbc-user=test

配置也相应改成:

代码语言:javascript
复制
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"      init-method="init" destroy-method="close">    <property name="url" value="${jdbc-url}"/>    <property name="username" value="${jdbc-user}"/>    <property name="password" value="${jdbc-pwd}"/>

居然就正常了,建议:属性文件中的key最好不要跟druid的成员名重名。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015-09-09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档