WildflyでMySQLのJDBCドライバモジュール読み込みに失敗する

[川場隆]のわかりやすいJava EE ウェブシステム入門

WildflyはJBoss系のアプリケーションサーバです。今まで正常に動いていたのですが、ある日突然WildflyがMySQLへの接続に失敗するようになってしまいました。以下がログなのですが、com.mysqlのモジュールをロードできておらず、jdbc-driverが使えない状態のようです。

ERROR [org.jboss.as.controller.management-operation] (ServerService Thread Pool — 33) WFLYCTL0013: Operation (“add”) failed – address: ([
(“subsystem” => “datasources”),
(“jdbc-driver” => “mysql”)
]) – failure description: “WFLYJCA0041: Failed to load module for driver [com.mysql]”

以前にちゃんと稼働していた時のログと比較すると、以下の処理が抜けていました。やはり、MySQLのJDBCドライバを読み込めていません。なぜかはよくわかりません。

INFO [org.jboss.as.connector.subsystems.datasources] (ServerService Thread Pool — 33) WFLYJCA0005: Deploying non-JDBC-compliant driver class com.mysql.jdbc.Driver (version 5.1)

で、とりあえずmysql-connector-javaのバージョンを上げてみたところ直りました。ミドルウェアのバージョンアップなどで、5.1.3系が依存関係の都合で読み込まれなくなってしまったのかもしれません。読み込まなかったらその旨をログを吐いてほしい気もしますが、そういうエラーログは見当たりませんでした。

MySQLのサイトで配布されている最新版はConnector/J 5.1.41で、これを使うようにしたら無事にWildflyがMySQLに接続できるようになりました。
https://dev.mysql.com/downloads/connector/j/