我正在研究需要在weblogic和jboss上都可部署的项目。我从来源编译了wildfly 。现在,我正在尝试使用命名来获取数据源。应用程序在JBOSS EAP 6.1上运行良好,我可以使用以下代码获取数据源引用,javax.sql.DataSource
但现在在widlfly中
dataSource = (javax.sql.DataSource) context.lookup("datasource");
它抛出异常
java.lang.ClassCastException:org.jboss.jca.adapters.jdbc.WrapperDataSource 无法转换为 javax.sql.DataSource
如果我尝试使用以下代码,
Object obj = context.lookup("datasource");
dataSource = (javax.sql.DataSource) obj;
它不会抛出上述异常,而是使用数据源,它会抛出异常
引起:java.lang.IncompatibleClassChangeError: Class org.jboss.jca.adapters.jdbc.WrapperDataSource 没有实现请求的接口 javax.sql.DataSource
但是,查看类的代码,我们可以看到它实现了javax.sql.DataSource
谁能告诉我如何使用强制转换WrapperDataSource
或获取返回为javax.sql.DataSource
.
服务器信息:
调用“C:\wildfly-8.0.0.Beta2-SNAPSHOT\bin\standalone.conf.bat” 将 JAVA 属性设置为“C:\Progra~2\Java\jdk1.7.0_40\bin\java” ==================================================== ============================== JBoss 引导环境 JBOSS_HOME: "C:\wildfly-8.0.0.Beta2-SNAPSHOT" JAVA: "C:\Progra~2\Java\jdk1.7.0_40\bin\java" ==================================================== ============================== 在地址监听传输 dt_socket:8787 16:04:19,731 INFO [org.jboss.modules](主要)JBoss 模块版本 1.3.0.Final 16:04:19,903 INFO [org.jboss.msc](主要)JBoss MSC 版本 1.2.0.Beta2 16:04:19,997 INFO [org.jboss.as](MSC 服务线程 1-6)JBAS015899:WildFly 8.0.0.Beta2-SNAPSHOT “WildFly”开始 16:04:21,138 INFO [org.jboss.as.server](控制器引导线程)JBAS015888:使用套接字绑定 (management-http) 创建 http 管理服务 16:04:21,138 INFO [org.xnio](MSC 服务线程 1-1)XNIO 版本 3.1.0.CR7 16:04:21,153 INFO [org.xnio.nio](MSC 服务线程 1-1)XNIO NIO 实施版本 3.1.0.CR7 16:04:21,309 INFO [org.jboss.remoting](MSC 服务线程 1-1)JBoss Remoting 版本 4.0.0.Beta1 16:04:21,341 INFO [org.jboss.as.webservices](ServerService 线程池 -- 50)JBAS015537:激活 WebServices 扩展 16:04:21,356 INFO [org.jboss.as.security](ServerService 线程池 -- 46)JBAS013171:激活安全子系统 16:04:21,372 INFO [org.jboss.as.security](MSC 服务线程 1-8)JBAS013170:当前 PicketBox 版本=4.0.19.Final 16:04:21,388 INFO [org.jboss.as.naming](ServerService 线程池 -- 41)JBAS011800:激活命名子系统 16:04:21,388 INFO [org.jboss.as.clustering.infinispan](ServerService 线程池 -- 33)JBAS010280:激活 Infinispan 子系统。 16:04:21,388 INFO [org.wildfly.extension.undertow](MSC 服务线程 1-3)JBAS017502:Undertow 1.0.0.Beta18 开始 16:04:21,403 INFO [org.wildfly.extension.undertow](ServerService 线程池 -- 49)JBAS017502:Undertow 1.0.0.Beta18 开始 16:04:21,403 INFO [org.jboss.as.jsf](ServerService 线程池 -- 39)JBAS012605:激活了以下 JSF 实现:[main] 16:04:21,419 INFO [org.jboss.as.connector.logging](MSC 服务线程 1-7)JBAS010408:启动 JCA 子系统(IronJacamar 1.1.0.Final) 16:04:21,450 INFO [org.jboss.as.naming](MSC 服务线程 1-3)JBAS011802:启动命名服务 16:04:21,466 INFO [org.jboss.as.mail.extension](MSC 服务线程 1-7)JBAS015400:绑定邮件会话 [java:jboss/mail/Default] 16:04:21,466 INFO [org.jboss.as.connector.subsystems.datasources](ServerService 线程池 -- 28)JBAS010403:部署符合 JDBC 的驱动程序类 org.h2.Driver(1.3 版) 16:04:21,481 INFO [org.jboss.as.connector.deployers.jdbc](MSC 服务线程 1-3)JBAS010417:使用驱动程序名称 = h2 启动驱动程序服务 16:04:21,559 INFO [org.wildfly.extension.undertow](ServerService 线程池 -- 49)JBAS017527:为路径 C:\wildfly-8.0.0.Beta2-SNAPSHOT/welcome-content 创建文件处理程序 16:04:21,700 INFO [org.wildfly.extension.undertow](MSC 服务线程 1-6)JBAS017525:启动服务器默认服务器。 16:04:21,700 INFO [org.wildfly.extension.undertow](MSC 服务线程 1-4)JBAS017531:主机默认主机启动 16:04:21,763 INFO [org.wildfly.extension.undertow](MSC 服务线程 1-6)JBAS017519:Undertow HTTP 侦听器默认侦听 localhost/127.0.0.1:8080 16:04:21,841 INFO [org.jboss.as.connector.subsystems.datasources](ServerService 线程池 -- 28)JBAS010403:部署符合 JDBC 的驱动程序类 com.ibm.db2.jcc.DB2Driver(版本 3.57) 16:04:21,841 INFO [org.jboss.as.connector.deployers.jdbc](MSC 服务线程 1-1)JBAS010417:使用驱动程序名称 = DB2Driver 启动驱动程序服务 16:04:22,091 INFO [org.jboss.as.server.deployment.scanner](MSC 服务线程 1-5)JBAS015012:为目录 C:\wildfly-8.0.0.Beta2-SNAPSHOT\standalone\deployments 启动 FileSystemDeploymentService 16:04:22,091 INFO [org.jboss.as.remoting](MSC 服务线程 1-1)JBAS017100:监听 127.0.0.1:9999 16:04:22,122 INFO [org.jboss.ws.common.management](MSC 服务线程 1-6)JBWS022052:启动 JBoss Web 服务 - 堆栈 CXF 服务器 4.2.1.Final 16:04:22,122 INFO [org.jboss.as.connector.subsystems.datasources](MSC 服务线程 1-8)JBAS010400:绑定数据源 [java:jboss/datasources/ExampleDS] 16:04:22,122 INFO [org.jboss.as.connector.subsystems.datasources](MSC 服务线程 1-4)JBAS010400:绑定数据源 [java:/rapiddb] 16:04:22,247 INFO [org.jboss.as](控制器引导线程)JBAS015961:在 http://127.0.0.1:9990/management 上监听的 Http 管理接口 16:04:22,247 INFO [org.jboss.as](控制器引导线程)JBAS015951:管理控制台监听 http://127.0.0.1:9990 16:04:22,247 INFO [org.jboss.as](控制器引导线程)JBAS015874:WildFly 8.0.0.Beta2-SNAPSHOT “WildFly”在 2828 毫秒内启动 - 启动了 223 个服务中的 186 个(62 个服务是惰性的、被动的或开启的)要求)