首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 服务器 > 其他服务器 >

Java联接websphere配置的连接池

2012-12-30 
Java连接websphere配置的连接池本帖最后由 x0070704 于 2011-11-10 15:05:21 编辑这几天在弄websphere6.1

Java连接websphere配置的连接池
本帖最后由 x0070704 于 2011-11-10 15:05:21 编辑 这几天在弄websphere6.1的连接池,我配置好连接池后按'测试连接'按钮后是显示连接成功的,于是我在eclipse中做了一个小测试,试图使用连接池的时候,却报了一个类型转换失败的错误.获取连接池的代码如下:


     private static Context getInitialContext() throws Exception {
            Properties p = new Properties();
                p.put(Context.INITIAL_CONTEXT_FACTORY,
                      "com.ibm.websphere.naming.WsnInitialContextFactory");
                p.put(Context.PROVIDER_URL, "iiop://9.73.45.116:9989/");
                p.put(Context.SECURITY_PRINCIPAL, "root");
                p.put(Context.SECURITY_CREDENTIALS, "root");
            return new InitialContext(p);
        }
    
    private static Connection getConnection() throws Exception { 

        Context ctx = null; 

        ctx = getInitialContext(); 
        DataSource ds = (DataSource)ctx.lookup("jdbc/HosPool");

        Connection conn = ds.getConnection(); 
        return conn; 
    } 



错误信息如下:


2011-11-10 11:58:59 com.ibm.ws.naming.util.Helpers
WARNING: jndiGetObjInstNoop
java.lang.ClassCastException: javax.naming.Reference incompatible with javax.sql.DataSource


我上网查了很久,发现他们有的是在web.xml中配置<resource-ref>属性,这个我在配置Tomcat的连接池时候也弄过,但我现在只是做个小程序在Java Application中运行,不涉及web.xml的啊,是我连接池配置少了东西吗?

注:9989是websphere的bootstart_address 端口

[解决办法]
这个是类匹配错误,在这一句

DataSource ds = (DataSource)ctx.lookup("jdbc/HosPool");

ctx.lookup返回的是 javax.naming.Reference不能转为 javax.sql.DataSource

你看下是不是包引用的问题

热点排行