原文地址:http://www.pior.cn/html/2008/06/200806061505574175.htm
具体应用的时候出错:
java.lang.UnsupportedOperationException
at org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:161)
at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:532)
at org.hibernate.connection.DatasourceConnectionProvider.getConnection(DatasourceConnectionProvider.java:66)
at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:417)
at org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:144)
at org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:105)
at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1561)
at org.hibernate.loader.Loader.doQuery(Loader.java:661)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
at org.hibernate.loader.Loader.doList(Loader.java:2145)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2029)
at org.hibernate.loader.Loader.list(Loader.java:2024)
原来问题出现在Hibernate的配置文件中
就是在hibernate.cfg.xml里多写了:
<property name="connection.username">name</property>
<property name="connection.password">pwd</property>
后来把它去了结果就好了
经过测试发现即时用户名和密码配置正确,由于配置的连接池里已经有了用户名密码,所以就报错了
至于在/conf/context.xml里加入
<ResourceLink global="jdbc/mysql" name="jdbc/mysql" type="javax.sql.DataSource"/>
与否,没发现明显差异,即加不加连接池都工作正常