Я пытаюсь переместить мой веб-сервис Tomcat в Wildfly 10. Я думал, что он должен перетащить в папку развертывания Wildfly, и все должно быть хорошо, но похоже, что это не так.Как настроить MariaDB JNDI на Wildfly 10?
Это мое MariaDB определение DataSource в standalone.xml
:
<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
и мой файл WAR в wildfly/standalone/deployments
, запустите Wildfly, и сообщения об ошибках пришли мне в глаза:
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]"
]
}
Я не могу позволить моему сервису подключиться к БД, я пропустил какой-либо шаг?
woo, это работает! Но я пробовал Jboss EAP 6.4 раньше, и он развертывает JDBC туда, где он принадлежит автоматически, когда я перетаскиваю новый JDBC в свою папку развертываний. Разве не Wildfly 10 больше, чем EAP 6.4? – Kaninchen
Это может быть разница в инструментах управления, которые поставляются с коммерческими выпусками EAP, я действительно не знаю. – Gimby
ОК. спасибо за помощь в моей текущей проблеме. – Kaninchen