2016-10-05 4 views
2

톰캣 웹 서비스를 Wildfly 10으로 옮기려고합니다. Wildfly의 배포 폴더로 드래그 앤 드롭해야한다고 생각했는데 모든 것이 잘되어야하지만 그렇게 좋지는 않습니다.Wildfly 10에서 MariaDB JNDI를 설치하는 방법은 무엇입니까?

standalone.xml 내 MariaDB 데이터 소스 정의입니다 :

07:05:21,137 INFO [org.wildfly.extension.undertow] (ServerService Thread Pool -- 60) WFLYUT0021: Registered web context: /MySV 
07:05:21,143 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: ([ 
("subsystem" => "datasources"), 
("data-source" => "MariaDBDS") 
]) - failure description: { 
"WFLYCTL0412: Required services that are not installed:" => ["jboss.jdbc-driver.mariadb"], 
"WFLYCTL0180: Services with missing/unavailable dependencies" => [ 
    "jboss.driver-demander.java:jboss/MariaDBDS is missing [jboss.jdbc-driver.mariadb]", 
    "org.wildfly.data-source.MariaDBDS is missing [jboss.jdbc-driver.mariadb]" 
] 
} 
07:05:21,148 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: ([ 
("subsystem" => "datasources"), 
("data-source" => "MariaDBDS") 
]) - failure description: { 
"WFLYCTL0412: Required services that are not installed:" => [ 
    "jboss.jdbc-driver.mariadb", 
    "jboss.jdbc-driver.mariadb" 
], 
"WFLYCTL0180: Services with missing/unavailable dependencies" => [ 
    "jboss.driver-demander.java:jboss/MariaDBDS is missing [jboss.jdbc-driver.mariadb]", 
    "org.wildfly.data-source.MariaDBDS is missing [jboss.jdbc-driver.mariadb]", 
    "org.wildfly.data-source.MariaDBDS is missing [jboss.jdbc-driver.mariadb]" 
] 
} 

:

<datasource jndi-name="java:jboss/MariaDBDS" pool-name="MariaDBDS"> 
    <connection-url>jdbc:mariadb://db_ip/db_name</connection-url> 
    <driver>mariadb</driver> 
    <security> 
     <user-name>dbAcc</user-name> 
     <password>dbPassword</password> 
    </security> 
    <validation> 
     <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLValidConnectionChecker"/> 
     <validate-on-match>true</validate-on-match> 
     <background-validation>false</background-validation> 
     <exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLExceptionSorter"/> 
    </validation> 
    </datasource> 
    <drivers> 
     <driver name="mariadb" module="org.mariadb"> 
      <driver-class>org.mariadb.jdbc.Driver</driver-class> 
      <xa-datasource-class>org.mariadb.jdbc.MariaDbDataSource</xa-datasource-class> 
     </driver> 
    </drivers> 

다음 내가 mariadb-java-client-1.4.6.jar 넣어 wildfly/standalone/deployments에 내 WAR 파일의 제이보스를 시작하고 오류 메시지가 내 눈에 들어왔다 내 서비스를 DB에 연결할 수 없으므로 어떤 단계를 놓쳤습니까?

답변

0

구성을 보면 드라이버를 모듈로 설정했습니다. 따라서 배포 폴더에 별도의 jar로 배포하는 대신 서버에 모듈로 만듭니다. 드라이버가 배포 폴더에 위치를 설정하기 데이터 소스를 원하는 경우

, 당신은 같은 것을 할 :

<datasource jndi-name="java:jboss/MariaDBDS" pool-name="MariaDBDS"> 
    <connection-url>jdbc:mariadb://db_ip/db_name</connection-url> 
    <driver>mariadb-java-client-1.4.6.jar</driver> 
    <driver-class>org.mariadb.jdbc.Driver</driver-class> 
    <security> 
     <user-name>dbAcc</user-name> 
     <password>dbPassword</password> 
    </security> 
    <validation> 
     <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLValidConnectionChecker"/> 
     <validate-on-match>true</validate-on-match> 
     <background-validation>false</background-validation> 
     <exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLExceptionSorter"/> 
    </validation> 
</datasource> 

필요 없음 별도의 드라이버 선언, 그 모든 데이터 소스 구성에 포함.

+0

우우! 하지만 전에 Jboss EAP 6.4를 사용해 보았습니다. JDBC를 배포 폴더에 드래그하면 자동으로 속하는 곳에 JDBC가 배포됩니다. Wildfly 10이 EAP 6.4보다 더 발전하지 않았습니까 ?? – Kaninchen

+0

상업용 EAP 릴리스에서 제공되는 관리 툴링의 차이 일 수 있습니다. 실제로 알지 못합니다. – Gimby

+0

확인. 내 현재 문제를 도와 주셔서 감사합니다. – Kaninchen

관련 문제