java 直接连接webphere,Java连接websphere配置的连接池解决思路

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中配置属性,这个我在配置Tomcat的连接池时候也弄过,但我现在只是做个小程序在Java Application中运行,不涉及web.xml的啊,是我连接池配置少了东西吗?

注:9989是websphere的bootstart_address 端口

------解决方案--------------------

这个是类匹配错误,在这一句

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

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值