2013-11-25 3 views
1

JBoss 7.1.1에서 Wildfly 8.0.0.Beta1로 업그레이드하는 중입니다. JBoss에서 JTDS 데이터베이스 드라이버를 문제없이 사용했지만 WildFly에서 작동하지 않습니다.WildFly (JBoss)에서 JTDS 모듈

WildFly 설치시 modules 아래에 /net/sourceforge/jtds/main/ 폴더 구조를 만들고 module.xml 파일을 추가했지만 Wildfly가 해당 파일을 선택하지 않은 것 같습니다.

/modules/system/layers/base/ 폴더도 WildFly에서 새 폴더로 시도했지만 작동하지 않으며 최신 JTDS .JAR 파일도 다운로드했습니다.

내가 제이보스를 시작할 때 내가 오류는 다음과 같습니다

ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) JBAS014613: Operation ("add") failed - address: ([ 
    ("subsystem" => "datasources"), 
    ("data-source" => "SCI_ODS_sql2") 
]) - failure description: {"JBAS014771: Services with missing/unavailable dependencies" => [ 
    "jboss.data-source.java:jboss/datasources/SCI_ODS is missing [jboss.jdbc-driver.JTDS]", 
    "jboss.driver-demander.java:jboss/datasources/SCI_ODS is missing [jboss.jdbc-driver.JTDS]" 
]} 
ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) JBAS014613: Operation ("add") failed - address: ([ 
    ("subsystem" => "datasources"), 
    ("data-source" => "SCI_ODS_sql2") 
]) - failure description: { 
    "JBAS014771: Services with missing/unavailable dependencies" => [ 
     "jboss.data-source.java:jboss/datasources/SCI_ODS is missing [jboss.jdbc-driver.JTDS]", 
     "jboss.driver-demander.java:jboss/datasources/SCI_ODS is missing [jboss.jdbc-driver.JTDS]" 
    ], 
    "JBAS014879: One or more services were unable to start due to one or more indirect dependencies not being available." => { 
     "Services that were unable to start:" => [ 
      "jboss.data-source.reference-factory.SCI_ODS_sql2", 
      "jboss.naming.context.java.jboss.datasources.SCI_ODS" 
     ], 
     "Services that may be the cause:" => ["jboss.jdbc-driver.JTDS"] 
    } 
} 

나는 단지 기본이 아닌 JTDS 하나 설치되어있는 H2 드라이버를 보여줍니다 /subsystem=datasources:installed-drivers-listjboss-cli.sh UON 실행하는 경우.

답변

2

standalone.xml에 드라이버를 올바르게 설정하지 않았습니다. 나는 이미 그렇게했다고 확신했다. 추가됨 :

<driver name="JTDS" module="net.sourceforge.jtds"> 
    <driver-class>net.sourceforge.jtds.jdbc.Driver</driver-class> 
    <xa-datasource-class>net.sourceforge.jtds.jdbcx.JtdsDataSource</xa-datasource-class> 
</driver> 
+0

좋습니다. 질문을 "대답 함"으로 설정하십시오. 미리 감사드립니다. –

-1

먼저 WildFly 서버를 중지하십시오.

그런 다음 아래와 같이 MS-SQL JTDS 드라이버 정보와 데이터 소스의 세부 정보를 추가 할 standalone.xml 파일을 업데이트 :

<subsystem xmlns="urn:jboss:domain:datasources:4.0"> 
      <datasources> 
       <datasource jta="true" jndi-name="java:/jdbc/speedtest-datasource" pool-name="MSSQLDSspeedTestDEV" enabled="true" use-ccm="true"> 
        <connection-url>jdbc:jtds:sqlserver://serverName:1433;DatabaseName=dbName</connection-url> 
        <driver-class>net.sourceforge.jtds.jdbc.Driver</driver-class> 
        <driver>JTDS</driver> 
        <security> 
         <user-name>username</user-name> 
         <password>password</password> 
        </security> 
        <validation> 
         <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.mssql.MSSQLValidConnectionChecker"/> 
         <background-validation>true</background-validation> 
        </validation> 
       </datasource> 
       <drivers> 

        <driver name="JTDS" module="net.sourceforge"> 
         <driver-class>net.sourceforge.jtds.jdbc.Driver</driver-class> 
        </driver> 

       </drivers> 
      </datasources> 
     </subsystem> 

을 Module.xml MS SQL JTDS에 대한 경로 : E : \ 소프트웨어 \ 제이보스 - 10.1. 0.Final \ wildfly-10.1.0.Final \ modules \ system \ layers \ base \ net \ sourceforge \ main (강조 표시된대로 디렉토리 구조를 만들고 module.xml 및 jtds-1.3.0.jar 파일을 추가해야합니다).

(이 예제에서는 모듈 이름을 "net.sourceforge"로 사용하고 "net \ sourceforge \ main"으로 폴더 구조 경로를 만들었 음에 유의하십시오). 모듈, XML 파일의 디렉토리 경로 및 모듈 이름을 일치시키는 것이 더 중요합니다.

<?xml version="1.0" encoding="UTF-8"?> 
<module xmlns="urn:jboss:module:1.0" name="net.sourceforge"> 
<resources> 
<resource-root path="jtds-1.3.0.jar"/> 
</resources> 
<dependencies> 
<module name="javax.api"/> 
<module name="javax.transaction.api"/> 
</dependencies> 
</module> 

주 : 경로가 예를 들어

, (을 Module.xml에서 즉, 디렉토리 구조와 모듈 이름)과 일치해야합니다 2 곳에서 위의 녹색으로 강조 있습니다. E : \ Softwares \ wildfly-10.1.0.Final \ wildfly-10.1.0.Final \ modules \ system \ layers \ base \ net \ sourceforge \ jtds \ main 디렉토리 구조를 module.xml에 만든 경우 module.xml의 모듈 이름 을 Module.xml 파일 이제

Module.xml: 
<?xml version="1.0" encoding="UTF-8"?> 
<module xmlns="urn:jboss:module:1.0" name="net.sourceforge.jtds"> 
<resources> 
<resource-root path="jtds-1.3.0.jar"/> 
</resources> 
<dependencies> 
<module name="javax.api"/> 
<module name="javax.transaction.api"/> 
</dependencies> 
</module> 

이 두 파일을 저장하고 제이보스 서버를 다시 시작에 아래 그림과 같이 파일은 "net.sourceforge.jtds"이어야합니다.

관련 문제