0
我在Glassfish 3.1.2中创建了一个名为'userdb'和一个名为'userdbresource'的数据源的连接池。在创建数据源时,我在管理控制台中给出了类型'javax.sql.Datasource'。连接池命中Glassfish 3.1.2中的ClassCastException
在我的REST Web服务我写了下面的代码
DataSource ds = null;
try
{
InitialContext ctx = new InitialContext();
ds = (DataSource) ctx.lookup("userdbresource");
}
catch (NamingException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
Connection con = (Connection) ds.getConnection();
Statement stmt=con.createStatement();
我总是在Connection con = (Connection) ds.getConnection();
我已经加入获得ClassCast例外以下到web.xml
<resource-ref>
<res-ref-name>userdbresource</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
但没有改变。在使用com.mysql.jdbc.Connection查找它之后,我试图解开连接。但没有改变。
实际classcast例外日志是
java.lang.ClassCastException: com.sun.gjc.spi.jdbc40.ConnectionHolder40 cannot be cast to com.mysql.jdbc.Connection
如果有谁知道什么样的变化我需要用我从池中获取连接,请让我知道!
感谢 卡维塔
非常感谢! – kavita
你是wlc @ kavita – mykey