読者です 読者をやめる 読者になる 読者になる

メンチカツには醤油でしょ!!

ITエンジニア徒然 (AWS/Java/JavaScript/Google Spreadsheets/Jenkins/Mac/外部コミュニティ・勉強会レポ)

MySQLにWildflyで接続する場合のコネクターのバージョン (WFLYCTL0013 / WFLYJCA0040)

Wildfly MySQL

環境

Wildfly 10.0.0.Final
MySQL (AWS)

先に結果

6系ではなく5系を使う。
(今回はmysql-connector-java-5.1.39.jarを利用)

エラーメッセージ

管理コンソールのテスト接続の時点でこんなエラーが出ます。

ERROR [org.jboss.as.controller.management-operation] (management task-10) WFLYCTL0013: Operation ("test-connection-in-pool") failed - address: ([
("subsystem" => "datasources"),
("data-source" => "【データソース名】")
]) - failure description: "WFLYJCA0040: failed to invoke operation: WFLYJCA0047: Connection is not valid"

module.xml

C:\wildfly-10.0.0.Final\modules\system\layers\base\com\mysql\main\module.xml

<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.1" name="com.mysql">
  <resources>
    <resource-root path="mysql-connector-java-5.1.39.jar" />
  </resources>
  <dependencies>
    <module name="javax.api" />
    <module name="javax.transaction.api" />
  </dependencies>
</module>

standalone.xml

<datasources>
  <datasource jndi-name="java:jboss/datasources/【データソース名】" pool-name="【データソース名】" enabled="true" use-java-context="true">
    <connection-url>jdbc:mysql://mysqlInstance-*.************.ap-northeast-1.rds.amazonaws.com:3306/【スキーマ名】</connection-url>
    <driver>mysql</driver>
    <security>
      <user-name>【ユーザー名】</user-name>
      <password>【パスワード】</password>
    </security>
  </datasource>
  <drivers>
    <driver name="mysql" module="com.mysql">
      <xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
    </driver>
  </drivers>
</datasources>

5系が正解だった

Mavenリポジトリ
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
の最新が6.0.2だったのでそれを使用していましたが
利用時点での5系の最新5.1.39にしました。

The Central Repository Search Engine