2013-10-24 5 views
0

를 반환합니다. 나는 야생화를 근원에서 집계했다. 자, 명명을 사용하여 데이터 소스를 얻으려고합니다. 응용 프로그램 JBOSS EAP 6.1에 잘 작동한다, 나는 다음 코드를 사용하여, widlfly 지금 javax.sql.DataSource으로 데이터 소스 참조를 얻을 수 있지만, 할 수 있어요것은, Context.lookup ("데이터 소스")는 내가 모두 <strong>웹 로직</strong> 및 <strong>보스</strong>에 배포 할 필요가 프로젝트를 일하고 org.jboss.jca.adapters.jdbc.WrapperDataSource

dataSource = (javax.sql.DataSource) context.lookup("datasource"); 

는 예외

 
java.lang.ClassCastException: org.jboss.jca.adapters.jdbc.WrapperDataSource cannot be cast to javax.sql.DataSource 

내가 시도하는 경우를 던졌습니다 다음 코드를 사용하여

Object obj = context.lookup("datasource"); 
dataSource = (javax.sql.DataSource) obj; 

오히려 데이터 소스 사용에 대한 예외 위,이 클래스의 코드를 찾고,

 
Caused by: java.lang.IncompatibleClassChangeError: Class org.jboss.jca.adapters.jdbc.WrapperDataSource does not implement the requested interface javax.sql.DataSource 

그러나 예외가 발생합니다, 우리는 그것을 구현하는 것을 볼 수 javax.sql.DataSource

는 아무도 내가 사용할 수있는 방법을 말씀 해주십시오 수 WrapperDataSource 주조 또는 데이터 소스가 javax.sql.DataSource으로 반환됩니다.

서버 정보 :

 
Calling "C:\wildfly-8.0.0.Beta2-SNAPSHOT\bin\standalone.conf.bat" 
Setting JAVA property to "C:\Progra~2\Java\jdk1.7.0_40\bin\java" 
=============================================================================== 

    JBoss Bootstrap Environment 

    JBOSS_HOME: "C:\wildfly-8.0.0.Beta2-SNAPSHOT" 

    JAVA: "C:\Progra~2\Java\jdk1.7.0_40\bin\java" 

=============================================================================== 

Listening for transport dt_socket at address: 8787 
16:04:19,731 INFO [org.jboss.modules] (main) JBoss Modules version 1.3.0.Final 
16:04:19,903 INFO [org.jboss.msc] (main) JBoss MSC version 1.2.0.Beta2 
16:04:19,997 INFO [org.jboss.as] (MSC service thread 1-6) JBAS015899: WildFly 8.0.0.Beta2-SNAPSHOT "WildFly" starting 
16:04:21,138 INFO [org.jboss.as.server] (Controller Boot Thread) JBAS015888: Creating http management service using socket-binding (management-http) 
16:04:21,138 INFO [org.xnio] (MSC service thread 1-1) XNIO version 3.1.0.CR7 
16:04:21,153 INFO [org.xnio.nio] (MSC service thread 1-1) XNIO NIO Implementation Version 3.1.0.CR7 
16:04:21,309 INFO [org.jboss.remoting] (MSC service thread 1-1) JBoss Remoting version 4.0.0.Beta1 
16:04:21,341 INFO [org.jboss.as.webservices] (ServerService Thread Pool -- 50) JBAS015537: Activating WebServices Extension 
16:04:21,356 INFO [org.jboss.as.security] (ServerService Thread Pool -- 46) JBAS013171: Activating Security Subsystem 
16:04:21,372 INFO [org.jboss.as.security] (MSC service thread 1-8) JBAS013170: Current PicketBox version=4.0.19.Final 
16:04:21,388 INFO [org.jboss.as.naming] (ServerService Thread Pool -- 41) JBAS011800: Activating Naming Subsystem 
16:04:21,388 INFO [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 33) JBAS010280: Activating Infinispan subsystem. 
16:04:21,388 INFO [org.wildfly.extension.undertow] (MSC service thread 1-3) JBAS017502: Undertow 1.0.0.Beta18 starting 
16:04:21,403 INFO [org.wildfly.extension.undertow] (ServerService Thread Pool -- 49) JBAS017502: Undertow 1.0.0.Beta18 starting 
16:04:21,403 INFO [org.jboss.as.jsf] (ServerService Thread Pool -- 39) JBAS012605: Activated the following JSF Implementations: [main] 
16:04:21,419 INFO [org.jboss.as.connector.logging] (MSC service thread 1-7) JBAS010408: Starting JCA Subsystem (IronJacamar 1.1.0.Final) 
16:04:21,450 INFO [org.jboss.as.naming] (MSC service thread 1-3) JBAS011802: Starting Naming Service 
16:04:21,466 INFO [org.jboss.as.mail.extension] (MSC service thread 1-7) JBAS015400: Bound mail session [java:jboss/mail/Default] 
16:04:21,466 INFO [org.jboss.as.connector.subsystems.datasources] (ServerService Thread Pool -- 28) JBAS010403: Deploying JDBC-compliant driver class org.h2.Driver (version 1.3) 
16:04:21,481 INFO [org.jboss.as.connector.deployers.jdbc] (MSC service thread 1-3) JBAS010417: Started Driver service with driver-name = h2 
16:04:21,559 INFO [org.wildfly.extension.undertow] (ServerService Thread Pool -- 49) JBAS017527: Creating file handler for path C:\wildfly-8.0.0.Beta2-SNAPSHOT/welcome-content 
16:04:21,700 INFO [org.wildfly.extension.undertow] (MSC service thread 1-6) JBAS017525: Started server default-server. 
16:04:21,700 INFO [org.wildfly.extension.undertow] (MSC service thread 1-4) JBAS017531: Host default-host starting 
16:04:21,763 INFO [org.wildfly.extension.undertow] (MSC service thread 1-6) JBAS017519: Undertow HTTP listener default listening on localhost/127.0.0.1:8080 
16:04:21,841 INFO [org.jboss.as.connector.subsystems.datasources] (ServerService Thread Pool -- 28) JBAS010403: Deploying JDBC-compliant driver class com.ibm.db2.jcc.DB2Driver (version 3.57) 
16:04:21,841 INFO [org.jboss.as.connector.deployers.jdbc] (MSC service thread 1-1) JBAS010417: Started Driver service with driver-name = DB2Driver 
16:04:22,091 INFO [org.jboss.as.server.deployment.scanner] (MSC service thread 1-5) JBAS015012: Started FileSystemDeploymentService for directory C:\wildfly-8.0.0.Beta2-SNAPSHOT\standalone\deployments 
16:04:22,091 INFO [org.jboss.as.remoting] (MSC service thread 1-1) JBAS017100: Listening on 127.0.0.1:9999 
16:04:22,122 INFO [org.jboss.ws.common.management] (MSC service thread 1-6) JBWS022052: Starting JBoss Web Services - Stack CXF Server 4.2.1.Final 
16:04:22,122 INFO [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-8) JBAS010400: Bound data source [java:jboss/datasources/ExampleDS] 
16:04:22,122 INFO [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-4) JBAS010400: Bound data source [java:/rapiddb] 
16:04:22,247 INFO [org.jboss.as] (Controller Boot Thread) JBAS015961: Http management interface listening on http://127.0.0.1:9990/management 
16:04:22,247 INFO [org.jboss.as] (Controller Boot Thread) JBAS015951: Admin console listening on http://127.0.0.1:9990 
16:04:22,247 INFO [org.jboss.as] (Controller Boot Thread) JBAS015874: WildFly 8.0.0.Beta2-SNAPSHOT "WildFly" started in 2828ms - Started 186 of 223 services (62 services are lazy, passive or on-demand) 

답변

2

나는 당신이 서버에서 데이터 소스에 JDBC 드라이버를 구성하거나 길을 함께 할 수있는 뭔가를해야합니다 가정 당신은 충돌로 만드는 패키지에있는 다른 드라이버를 제공하는 경우 당신이 사용하는 실제 드라이버. 그 또한 운동을하면 문제가 발생하는 서버의 버전을 게시하지 않는 경우

유사한 오류

https://community.jboss.org/message/250795

에서 찾을 수 있습니다. 서버에 고정 된 데이터 소스 패치가 적용되지 않도록하십시오.

+0

Hi Flip, 답장을 보내 주셔서 ** ** DB2 Driver **가 ** modules ** 디렉토리 아래에 정적 모듈로 구성되어 있습니다. ** db2jcc.jar ** & ** db2jcc_license_cu.jar **의 다른 사본을 확인하고 찾을 수 없습니다. –

+0

EAR로 응용 프로그램을 배포했으며 JBOSS EAP 6.1에서 동일한 응용 프로그램이 올바르게 작동합니다. 어떤 다른 드라이버가 DB2 드라이버와 충돌 할 수 있습니까? –

1

WildFly 포럼 (WildFly Thread)에 문제를 게시하고 javax.sql.DataSource 인터페이스가 포함 된 다른 항아리가 있음을 확인했습니다.

jarscan.jar이라는 유틸리티를 사용하여 모듈에서 인터페이스를 검색하고 jar에 다른 javax.sql.DataSource 클래스가 포함되어 있음을 발견했습니다. jar 폼 모듈을 제거하면 문제가 해결되었습니다.