使用simple-jndi 0.25时遭遇ClassCastException异常的问题求助
使用simple-jndi 0.25时遭遇ClassCastException异常的问题求助
各位好,我最近在项目里用simple-jndi 0.25管理数据源的时候,碰到了一个棘手的ClassCastException问题,试了好几种方法都没搞定,想过来请大家帮忙分析下。
先给大家说下我的配置和代码情况:
- 我按照simple-jndi的规范创建了配置文件,路径是:
jdbc/RCVCERMAPB/EnregistrementTracesApplicatives/default.properties - 这个
default.properties的内容如下:
type=javax.sql.DataSource driver=org.postgresql.Driver url=jdbc:postgresql://172.25.94.30:5432/rspdb3 user=rcvcermapb_traceappli password=rcvcermapb_traceappli
然后我在代码里尝试通过JNDI获取这个数据源,代码片段大概是这样的:
final InitialContext context = new InitialContext(); // 执行lookup后强转时直接抛出了ClassCastException javax.sql.DataSource dataSource = (javax.sql.DataSource) context.lookup("jdbc/RCVCERMAPB/EnregistrementTracesApplicatives");
运行时的异常信息明确提示我,lookup返回的对象无法被强转为javax.sql.DataSource类型。我已经提前确认了这几点:
- 配置文件里的
type参数确实设置为javax.sql.DataSource - PostgreSQL的驱动包已经正常引入到项目依赖中
- simple-jndi 0.25的依赖没有版本冲突的情况
实在摸不着头脑哪里出了问题,有没有大佬遇到过类似的情况?或者能给我一些排查的方向,非常感谢大家的帮助!
内容来源于stack exchange
相关产品推荐
相关产品推荐

