spring c3p0 把用户密码注入方式

nnyyang 2012-05-08 10:48:15
<bean id="dataSource"
class="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="close">
<property name="driverClass" value="oracle.jdbc.driver.OracleDriver"></property>
<property name="jdbcUrl" value="jdbc:oracle:thin:@localhost:1521:adb"></property>
<property name="properties" ref="dataSourceProperties"/>
<property name="initialPoolSize" value="3"></property>
<property name="minPoolSize" value="3"></property>
<property name="maxPoolSize" value="30"></property>
<property name="acquireRetryDelay" value="2000"></property>
<property name="breakAfterAcquireFailure" value="false"></property>
</bean>

<bean id="dataSourceProperties" class="com.action.PropertiesEncryptFactoryBean">
<property name="properties">
<props>
<prop key="user">abc</prop>
<prop key="password">abc</prop>
</props>
</property>
</bean>

这样用怎么会不行呢,java.lang.NullPointerException
...全文
445 22 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
wshcdr 2012-05-10
  • 打赏
  • 举报
回复
会不会是包冲突啊, jsp-api.jar和servlet-api.jar两个包和toscat自带的包冲突
nnyyang 2012-05-09
  • 打赏
  • 举报
回复
还有那文章是写了加密,其实在那个类里应该是解密才对。作者不知道怎么想的。
nnyyang 2012-05-09
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

引用 2 楼 的回复:

1、你首先确定数据库用户名和密码是否正确。在上面配置中,

<bean id="dataSource"
class="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="close">
<property name="driverClass" value="oracle.jdbc.driv……
[/Quote]

我就照着那文章做的,用户密码肯定是正确的,如果不正确,也不应该抛空指针。
a3315723 2012-05-09
  • 打赏
  • 举报
回复
你先空起服务 看看 服务能正常启动不。 如果不能找服务的问题。 如果注入拿到是Null输出对象看看里面的值是否有。如果输出还是没有那就是你注入错误。 对象里跟没就没拿到密码
昨日凡阳 2012-05-09
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 的回复:]

起启TOMCAT就报了……
[/Quote]

try一下10楼的方式,这样改。另外,你参考一下10楼中的2中的网址。
nnyyang 2012-05-09
  • 打赏
  • 举报
回复
起启TOMCAT就报了……
nnyyang 2012-05-09
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 的回复:]
引用 10 楼 的回复:
1、你没有回答什么情况时候时候报错。
2、供你参考

http://yang8787jie-126-com.iteye.com/blog/1508454

3、如下都是null
description -> null, driverClass -> null, factoryClassLocation -> null, jdbcUrl -> null、

……
[/Quote]

spring ibatis
昨日凡阳 2012-05-09
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 的回复:]
1、你没有回答什么情况时候时候报错。
2、供你参考

http://yang8787jie-126-com.iteye.com/blog/1508454

3、如下都是null
description -> null, driverClass -> null, factoryClassLocation -> null, jdbcUrl -> null、

你把这段该一下:
<b……
[/Quote]
你spring跟什么一起配置3cp0?
hibernate?spring jdbc?jpa?
昨日凡阳 2012-05-09
  • 打赏
  • 举报
回复

1、你没有回答什么情况时候时候报错。
2、供你参考

http://yang8787jie-126-com.iteye.com/blog/1508454

3、如下都是null
description -> null, driverClass -> null, factoryClassLocation -> null, jdbcUrl -> null、

你把这段该一下:
<bean id="dataSource"
class="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="close">
<property name="driverClass" value="oracle.jdbc.driver.OracleDriver"></property>
<property name="jdbcUrl" value="jdbc:oracle:thin:@localhost:1521:adb"></property>
<property name="properties" ref="dataSourceProperties"/>
<property name="initialPoolSize" value="3"></property>
<property name="minPoolSize" value="3"></property>
<property name="maxPoolSize" value="30"></property>
<property name="acquireRetryDelay" value="2000"></property>
<property name="breakAfterAcquireFailure" value="false"></property>
</bean>
改成

<bean id="dataSource"
class="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="close">
<property name="driverClass">
<value>oracle.jdbc.driver.OracleDriver</value>
</property>
<property name="jdbcUrl">
<value>jdbc:oracle:thin:@localhost:1521:adb</value>
</property>
<property name="properties" ref="dataSourceProperties"/>
<property name="minPoolSize">
<value>30</value>
</property>
<property name="maxPoolSize">
<value>100</value>
</property>
<property name="initialPoolSize">
<value>30</value>
</property>
<property name="acquireRetryDelay">
<value>2000</value>
</property>
<property name="breakAfterAcquireFailure">
<value>false</value>
</property>
</bean>
nnyyang 2012-05-09
  • 打赏
  • 举报
回复
我觉得它报的就是用户 密码是空,
properties.put("user", originalUsername);
properties.put("password", originalPassword);
这个怎么没有设置起呢?
nnyyang 2012-05-09
  • 打赏
  • 举报
回复
dbcTransactionObjectSupport - JDBC 3.0 Savepoint class is available
AbstractPoolBackedDataSource - Initializing c3p0 pool... com.mchange.v2.c3p0.ComboPooledDataSource [ acquireIncrement -> 3, acquireRetryAttempts -> 30, acquireRetryDelay -> 1000, autoCommitOnClose -> false, automaticTestTable -> null, breakAfterAcquireFailure -> false, checkoutTimeout -> 0, connectionCustomizerClassName -> null, connectionTesterClassName -> com.mchange.v2.c3p0.impl.DefaultConnectionTester, dataSourceName -> 1hge2l68nd33wbi1jk4b0y|1696452, debugUnreturnedConnectionStackTraces -> false, description -> null, driverClass -> null, factoryClassLocation -> null, forceIgnoreUnresolvedTransactions -> false, identityToken -> 1hge2l68nd33wbi1jk4b0y|1696452, idleConnectionTestPeriod -> 0, initialPoolSize -> 3, jdbcUrl -> null, lastAcquisitionFailureDefaultUser -> null, maxAdministrativeTaskTime -> 0, maxConnectionAge -> 0, maxIdleTime -> 0, maxIdleTimeExcessConnections -> 0, maxPoolSize -> 15, maxStatements -> 0, maxStatementsPerConnection -> 0, minPoolSize -> 3, numHelperThreads -> 3, numThreadsAwaitingCheckoutDefaultUser -> 0, preferredTestQuery -> null, properties -> {}, propertyCycle -> 0, testConnectionOnCheckin -> false, testConnectionOnCheckout -> false, unreturnedConnectionTimeout -> 0, usesTraditionalReflectiveProxies -> false ]
BasicResourcePool - com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@fed6f7 -- Acquisition Attempt Failed!!! Clearing pending acquires. While trying to acquire a needed new resource, we failed to succeed more than the maximum number of allowed acquisition attempts (30). Last acquisition attempt exception:
java.lang.NullPointerException
at sun.jdbc.odbc.JdbcOdbcDriver.getProtocol(JdbcOdbcDriver.java:507)
at sun.jdbc.odbc.JdbcOdbcDriver.knownURL(JdbcOdbcDriver.java:476)
at sun.jdbc.odbc.JdbcOdbcDriver.acceptsURL(JdbcOdbcDriver.java:307)
at java.sql.DriverManager.getDriver(DriverManager.java:253)
at com.mchange.v2.c3p0.DriverManagerDataSource.driver(DriverManagerDataSource.java:224)
at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:120)
at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:143)
at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:132)
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:137)
at com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1014)
at com.mchange.v2.resourcepool.BasicResourcePool.access$800(BasicResourcePool.java:32)
at com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(BasicResourcePool.java:1810)
at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:547)
BasicResourcePool - com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@130c8e9 -- Acquisition Attempt Failed!!! Clearing pending acquires. While trying to acquire a needed new resource, we failed to succeed more than the maximum number of allowed acquisition attempts (30). Last acquisition attempt exception:


我把错误发上来了。
土土 2012-05-09
  • 打赏
  • 举报
回复
看看哪里报的空错
昨日凡阳 2012-05-09
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

1、你首先确定数据库用户名和密码是否正确。在上面配置中,

<bean id="dataSource"
class="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="close">
<property name="driverClass" value="oracle.jdbc.driver.OracleDriver"……
[/Quote]


2、报空指针,是什么情况下报的,启动tomcat报的还是画面操作了什么报的?
nnyyang 2012-05-09
  • 打赏
  • 举报
回复
再次跪求帮助。
nnyyang 2012-05-09
  • 打赏
  • 举报
回复
谁能帮帮我啊……
nnyyang 2012-05-09
  • 打赏
  • 举报
回复
唉...
昨日凡阳 2012-05-09
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 的回复:]

引用 14 楼 的回复:
引用 13 楼 的回复:

起启TOMCAT就报了……


try一下10楼的方式,这样改。另外,你参考一下10楼中的2中的网址。


我照着配的,根本不行啊……你们试过这方式没有,估计不行吧。
[/Quote]
這樣吧,你把它的例子完整的try一下,看看問題出在哪裏。
我們一般不會像你這樣做。
nnyyang 2012-05-09
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 的回复:]
引用 13 楼 的回复:

起启TOMCAT就报了……


try一下10楼的方式,这样改。另外,你参考一下10楼中的2中的网址。
[/Quote]

我照着配的,根本不行啊……你们试过这方式没有,估计不行吧。
nnyyang 2012-05-09
  • 打赏
  • 举报
回复
我就照到弄的。还是不行啊……要疯了!!
昨日凡阳 2012-05-08
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

1、你首先确定数据库用户名和密码是否正确。在上面配置中,

<bean id="dataSource"
class="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="close">
<property name="driverClass" value="oracle.jdbc.driver.OracleDriver"……
[/Quote]
http://aguu125.iteye.com/blog/579402
加载更多回复(2)

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧