Java EE 7 検証環境 WildFlyにDataSourceを手動で作成

 

Java EE 7 検証環境構築(1) WildFly + JBoss Tools で EARプロジェクトを作成し Arquillian で ユニットテストをグリーンにするところまで」 から「Java EE 7 検証環境構築(16) WildFly と Apache を mod_jk で連携させる(Widows)」までで、環境構築、アプリケーション、ユニットテスト、Webサーバーとの連携、と、大枠のやりたい範囲を動くようにすることはできたと思う。

ここからは、気になった点などを適宜まとめていこう。

ということで、

Java EE 7 検証環境構築(2) WildFly に DataSourceを作成

していたのだが、WildFly 8 Administration を見ると、DataSourceの作成には、以下の3通りの方法がある

  • 手動でのデータソース設定
  • CLIを利用したデータソース設定
  • デプロイリソース(アプリケーション同梱)としてのデータソース設定

ようだ。

実は、Java EE 7 検証環境構築(2) WildFly に DataSourceを作成 行った方法がまずいのかどうなのかわからないが、Eclipseでテストなどしていると、デプロイしたJDBC ドライバーがWildFlyから消えてしまう事象が頻繁に発生する(何らかのきっかけでテストアプリケーション扱いされて消えてしまう?)。

まぁ、deploy コマンドをながすだけ、再度デプロイできるのだが、やはり気持ち悪いので別の方法を検討してみる。

1. 手動でのデータソース設定

一番素早く設定できる方法ではないが、仕組みを理解するにはよいようだ。

サーバーの設定ファイルに、以下のステップを踏む。

  1. JDBCモジュールの作成
  2. データソースとドライバの定義

1.1 JDBCモジュールの作成

アプリケーションサーバーのモジュールは、modules ディレクトリにインストールされる。

1.1.1 パスの構造を、JBOSS_HOME\modules ディレクトリのファイルに作成しJDBCドライバを配置

MySQLを例にすると

JBOSS_HOME/modules/com/mysql/main

ディレクトリを作成し、JDBCドライバをコピー

locate_jdbc_driver

1.1.2 module.xml ファイルを作成する

JDBCドライバを配置したディレクトリに、以下のような内容のmodule.xml ファイルを作成する。

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

 

1.1.3 アプリケーションサーバー設定ファイルを編集する

standalone モードの場合、standalone.xml を編集する。

<subsystem xmlns="urn:jboss:domain:datasources:2.0">
    <datasources>
        <datasource jndi-name="java:jboss/datasources/gnomeDS" pool-name="gnomeDS" enabled="true">
            <connection-url>jdbc:mysql://localhost:3306/gnome</connection-url>
            <driver>mysql</driver>
            <security>
                <user-name>root</user-name>
                <password>*****</password>
            </security>
        </datasource>
        <drivers>
            <driver name="mysql" module="com.mysql" />
        </drivers>
    </datasources>
</subsystem>

1.1.4 接続確認

WildFly を再起動。

管理コンソールで、追加したデータソースが表示されているのを確認できる。

appear_ds_on_wildfly

おお! テスト接続成功!

不惑をすぎても、この瞬間がうれしい。

この感覚がないと、この仕事はやってられないだろうなーなんて。

success_test_connection_new_ds

あとは、しばらく問題が発生しないか試してみよう。

Follow me!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です