datasource get connection的问题
调用datasource.getConnection(USER, PASSWORD)时,出现如下错误:
2005-04-15 17:05:01 StandardWrapper.Throwable
java.lang.UnsupportedOperationException
at org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:125)
at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:329)
at com.hrhost.common.database.ConnectionManager.getConnection(Unknown Source)
at com.hrhost.servlet.InitializeServlet.init(Unknown Source)
at javax.servlet.GenericServlet.init(GenericServlet.java:256)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1044)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:887)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3850)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4122)
at org.apache.catalina.core.StandardContext.reload(StandardContext.java:2894)
at org.apache.catalina.core.StandardContext.backgroundProcess(StandardContext.java:4423)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1658)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1667)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1667)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1647)
at java.lang.Thread.run(Thread.java:534)
请问前辈是什么问题呢?
我的server.xml如下:
<Resource auth="Container" name="jdbc/hrhost" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/hrhost">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:mysql://localhost:3306/hrhost?autoReconnect=true</value>
</parameter>
<parameter>
<name>password</name>
<value></value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>com.mysql.jdbc.Driver</value>
</parameter>
<parameter>
<name>username</name>
<value>root</value>
</parameter>
...
</ResourceParams>
InitialContext()和lookup()等全部都做了。如果我把用户名和密码都写到server.xml上,调用ds.getConnection()是没问题的。但如果把密码加密后放到配置文件,然后在应用程序加载的过程中解密,调用ds.getConnection(USER, PASSWORD)去获得Connection,就不行了,出了之前的错误。