55
45

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

オープンソースまるごと by NRI OpenStandiaAdvent Calendar 2018

Day 14

WildFlyをワイルドに動かしてみる ~インストールからデプロイまで~

Last updated at Posted at 2018-12-13

#はじめに
Qiita にはじめて記事を書かせていただきます。

現在 WildFly を使っていますが、やや知名度が低いように感じており、普及の一助になればと思い記事を書いてみました。Tomcat しか使ったことないよという方も是非使ってみて下さい。初心者がとりあえず動かせる(かもしれない)ことを目標としたので、細かいところは気にせずに進めていきます。

確認した動作環境は以下です。

  • Windows 7 Professional
  • Java 8 (Oracle JDK 1.8.0)
  • mysql-8.0.13-winx64
  • wildfly-14.0.1.Final

#WildFly とは
ざっくりと言うと

  • Java で書かれたオープンソースのアプリケーションサーバです。同種のものでは Apache Tomcat が有名です。
  • バージョン7までは JBoss と呼ばれていました。WildFly は JBoss が改名したものです。
  • WildFly はコミュニティ版と商用版があります。商用版はレッドハット社が開発していて JBoss EAP 7.x と呼ばれています。

#"WildFly"?どういう意味?

  • 野生のハエ?ロゴは蛾?書籍(洋書)の表紙はトンボ、特定の虫というわけではなさそうです。初期のロゴデザインには鳥みたいのもあったようです。
  • ハエかどうかはともかく軽快にフレキシブルに動作するというイメージでそういう名前になったらしいです。

#WildFlyのすごいところ

  • 最新技術である Java EE 8 の認定済み実装です。(WildFly 14 以降)
  • これまでの JBoss に比べて起動が速いです。
  • ものすごい勢いで改良されます。四半期(3カ月)に一回メジャーバーションアップされます。※WildFly15がリリースされてました。
  • ほとんどの設定を管理画面で行えます。
  • ほとんどの設定を管理 CLI (jboss-cli)コマンドでもできます。
  • いままでたくさんあった設定ファイルが standalone.xml だけになりました。

#今回やること

  1. WildFly をインストールして動かしてみる。
  2. データベースへ接続する設定をする。
  3. 簡単なWebアプリケーションでデータベースから取得したデータを表示してみる。

#事前準備

こんなの知っているという方は飛ばして下さい。
WildFly を動かしてみるだけでいいよ、という方はデータベース(MySQL)関連も読み飛ばして下さい。
見たい方は▼をクリックして頂ければ広がります。

コマンドプロンプトを使う
Windows 7 の場合は下記にあります。 `スタートボタン`→`すべてのプログラム`→`アクセサリ`→`コマンドプロンプト` Windows 10 の場合は下記にあります。 `スタートボタン`→`Windows システムツール`→`コマンドプロンプト`

コマンドプロンプトを起動すると黒い画面が現れてコマンドを入力できます。いくつでも開けます。

コマンドプロンプト

Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

C:\Users\tamaru>

コマンドプロンプト小ネタ

今回よく使うコマンド

  • dir ディレクトリ(フォルダ)にあるファイルを一覧表示します。
  • cd ディレクトリを移動します。

cd コマンドでフォルダを移動するのが面倒だと思ったら

まずコマンドプロンプトにcdと打ち込みます。

エクスプローラーで移動したいフォルダをドラックします。

コマンドプロンプトにドロップします。

マウスから指を離すとフォルダのパスが自動的に入ります。

間違って変な所に移動しそうになったら慌てずマウスから指を離さないで「Esc」ボタンを押してキャンセルしましょう

コマンドプロンプトを使うのが嫌になったら

下記のように打ち込むとエクスプローラーが開きます。

コマンドプロンプト
>explorer .
Java 8 以上が使えるか確認する
まず Java 8 以上がインストールされている必要があります。コマンドプロンプトを開いて下記のコマンドを実行して確認して下さい。
コマンドプロンプト
>java -version

下記のように言われたら Java がインストールされていないので Oracle 社のサイトから java SE(JDK)をダウンロードしてインストールして下さい。

コマンドプロンプト
'java' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

java -version と打ってバージョン情報が表示されればOKです。

コマンドプロンプト
java version "1.8.0"
Java(TM) SE Runtime Environment (build 1.8.0-b132)
Java HotSpot(TM) 64-Bit Server VM (build 25.0-b70, mixed mode)
WildFly を入手する
WildFly の[公式サイト](http://wildfly.org/downloads/ "公式サイト")から最新の`(Java EE Full & Web Distribution)`をダウンロードして下さい。今回は`wildfly-14.0.1.Final.zip`をダウンロードしました。
接続可能なデータベース(MySQL)を用意する

テスト用のデータベースとして MySQL 8 を使用します。なるべく簡単に済ませるためにインストーラ版ではなく zip 版のmysql-8.0.13-winx64.zipを使用します。インストールして長く使いたい方は MySQL の記事や書籍等を参照して環境構築をして下さい。

下記よりWindows (x86, 64-bit), ZIP Archiveの「Download」ボタンを押して下さい。
https://dev.mysql.com/downloads/mysql/

次に「Login」と「Sign Up」ボタンが現れますが、下にある「No thanks, just start my download.」リンクからもダウンロードすることが出来ます。

ダウンロードしたmysql-8.0.13-winx64.zipを適当なフォルダに解凍して下さい。ここではC:\mysql-8.0.13-winx64に解凍します。コマンドプロンプトを開き、以下のように入力します。

コマンドプロンプト
>cd C:\mysql-8.0.13-winx64\bin

次にデータベースを初期化します。

コマンドプロンプト
>mysqld --initialize-insecure

終了したら mysqld.exe を起動します。

コマンドプロンプト
>mysqld

このまま返ってきませんが MySQL は起動しているのでそのままにしておきます。mysqld は MySQLのサービスであるため動いている必要があります。終わるまで閉じないで下さい

:information_source:別の Windows 10 のPCで試したところ、下記のようなエラーが出てしまいました。

Visual Studio 2017.用 Visual C++ 再頒布可能パッケージが入っていないことが原因らしいです。下記のマイクロソフトのページからx64: vc_redist.x64.exeをダウンロードしてインストールして下さい。インストール後は Windows の再起動が必要のようです。
https://support.microsoft.com/ja-jp/help/2977003/the-latest-supported-visual-c-downloads

mysqld が起動した状態で別のコマンドプロンプトを開き MySQLサービスにログインします。パスワードを聞いてきますが、root(管理ユーザ)のパスワードは未設定なのでEnterを押します。

コマンドプロンプト
>cd C:\mysql-8.0.13-winx64\bin
>mysql -uroot -p
Enter password:

MySQLへのログインが成功しました。

コマンドプロンプト
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.13

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

テスト用のデータベース testdb を作成します。下記を入力しEnterを押します。
CREATE DATABASE testdb DEFAULT CHARACTER SET UTF8;

コマンドプロンプト
mysql> CREATE DATABASE testdb DEFAULT CHARACTER SET UTF8;
Query OK, 1 row affected, 1 warning (0.01 sec)

テスト用ユーザ「test」を作成します。下記を入力しEnterを押します。
CREATE USER 'test'@'localhost' IDENTIFIED BY 'test';

続けて権限を設定します。下記を入力しEnterを押します。
GRANT ALL PRIVILEGES ON testdb.* TO 'test'@'localhost' WITH GRANT OPTION;

ユーザの作成が完了したのでquit;してログアウトします。

コマンドプロンプト
mysql> CREATE USER 'test'@'localhost' IDENTIFIED BY 'test';
Query OK, 0 rows affected (0.12 sec)

mysql> GRANT ALL PRIVILEGES ON testdb.* TO 'test'@'localhost' WITH GRANT OPTION;
Query OK, 0 rows affected (0.04 sec)

mysql>quit;

MySQLに再度ログインします。今度はユーザ名「test」パスワード「test」でログインします。mysql -utest -ptest testdbと入力しEnterを押します。

コマンドプロンプト
c:\mysql-8.0.13-winx64\bin>mysql -utest -ptest testdb
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 22
Server version: 8.0.13 MySQL Community Server - GPL

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

以下のSQLでスト用テーブル「TEST_TABLE」を作成します。

CREATE TABLE TEST_TABLE ( ID INT AUTO_INCREMENT PRIMARY KEY, NAME VARCHAR(30) NOT NULL );

コマンドプロンプト
mysql> CREATE TABLE TEST_TABLE (ID INT AUTO_INCREMENT PRIMARY KEY, NAME VARCHAR(30) NOT NULL);
Query OK, 0 rows affected (0.09 sec)

以下を使用してデータを追加します。
INSERT INTO TEST_TABLE SET NAME="あいうえお";
INSERT INTO TEST_TABLE SET NAME="かきくけこ";

コマンドプロンプト
mysql> INSERT INTO TEST_TABLE SET NAME="あいうえお";
Query OK, 1 row affected (0.36 sec)
mysql> INSERT INTO TEST_TABLE SET NAME="かきくけこ";
Query OK, 1 row affected (0.00 sec)

以上で完了です。

musqld の止め方はコマンドプロンプトを開きmysqladmin -u root -p shutdownと入力します。rootの パスワードを求められますので、パスワードを入力してEnterキーを押して下さい。

コマンドプロンプト
>cd C:\mysql-8.0.13-winx64\bin
>mysqladmin.bat -u root -p shutdown
Enter password: ****

以上です。インストールする環境によっては上手くいかない場合があるかもしれません。今回は最新版(2018年12月現在)のMySQL 8.0.13を使用しましたが、もっと古いバージョンでも確認はできると思います。WildFlyの記事なので手短に終わらせようと思ったのですが、そこそこ長くなってしまいました。

対象のデータベース向けJDBCドライバを用意する
本記事ではMySQLを使用しますので、MySQL用のJDBCドライバ[Connector/J](https://dev.mysql.com/downloads/connector/j/ "Connector/j") をダウンロードして下さい。その他のデータベースを使用している方は対応しているJDBCドライバを用意して下さい。

Select Operating System:の中からPlatform Independentを選択してPlatform Independent (Architecture Independent), ZIP Archiveをダウンロードして下さい。

ダウンロードしたmysql-connector-java-8.0.13.zipを解凍するとmysql-connector-java-8.0.13.jarというファイルが出来ます。これがMySQL用のJDBCドライバ本体です。

Linuxの改行コード(LF)をサポートするテキストエディタを用意
WildFly の設定ファイルなどを Windows のメモ帳で開くと改行コードの違いから改行されず、ものすごく見にくくなります。Linux などの改行コードに対応するテキストエディタを用意しましょう。私は[サクラエディタ]("https://sakura-editor.github.io/" サクラエディタ)を使わせて頂いてます。
WildFly にデプロイする Webアプリケーション(warファイル)を用意する
WildFly にデプロイするための Webアプリケーションの war(Web application ARchive) を用意します。既にあるよ、という方はそれを使用して下さい。

動作確認のアプリケーションを用意します。jsp から直接データベースにアクセスしてしまいますが、こんな作り方をするとリーダーに怒られますので注意して下さい。今回は気にせずやってしまいます。

まず、helloworld というフォルダを作ってください。その中に index.jsp という名のファイルを以下の内容で作ってください。

index.jsp
<%@page contentType="text/html; charset=UTF-8" %>
<%@page import="javax.naming.*" %>
<%@page import="javax.sql.*" %>
<%@page import="java.sql.*" %>
<html>
<body>
Hello World!<br>
<%
Context context = new InitialContext();
DataSource dataSource = (DataSource)context.lookup("java:/MySqlDS");
try (Connection connection = dataSource.getConnection();
    PreparedStatement preparedStatement = connection.prepareStatement("select * from test_table;");
    ResultSet resultSet = preparedStatement.executeQuery()) {
    while(resultSet.next()) {
        out.print(resultSet.getString("NAME"));
        out.print("<br>");
    }
}
%>
</body>
</html>

下記のjava:/MySqlDSは後述するデータソースで設定した名前と同じにしてください。

DataSource dataSource = (DataSource)context.lookup("java:/MySqlDS");

次にアーカイブ形式の war ファイルを作成します。zip で固めるイメージです。まずコマンドプロンプトを開き作成した helloworld フォルダに移動します。

コマンドプロンプト
>cd C:\helloworld

java(JDK) に付属している jar コマンドを使用して war ファイルを作成します。

>jar cvf helloworld.war .\*
マニフェストが追加されました
index.jspを追加中です(入=1158)(出=528)(54%収縮されました)

helloworld.war が出来たと思います。WEB-INF や web.xml が無いですが今回は気にしません。

#WildFly のインストール

wildfly-14.0.1.Final.zipを解凍し、コマンドプロンプトで解凍先のフォルダに移動してください。

コマンドプロンプト
>cd C:\wildfly-14.0.1.Final\bin

standaloe.batが起動コマンドなので実行します。

コマンドプロンプト

>standalone.bat
Setting JAVA property to "C:\jdk\jdk1.8.0\bin\java"
===============================================================================

  JBoss Bootstrap Environment

  JBOSS_HOME: "C:\wildfly-14.0.1.Final"

  JAVA: "C:\jdk\jdk1.8.0\bin\java"

  JAVA_OPTS: "-Dprogram.name=standalone.bat -Xms64M -Xmx512M -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman "

===============================================================================

12:24:08,535 INFO  [org.jboss.modules] (main) JBoss Modules version 1.8.6.Final

ずらずらっと文字列が表示されますが、WildFly Full 14.0.1.Final (WildFly Core 6.0.2.Final) started in xxxxmsという文字が出れば起動完了です。

コマンドプロンプト

12:24:24,525 INFO  [org.jboss.ws.common.management] (MSC service thread 1-2) JBWS022052: Starting JBossWS 5.2.3.Final (Apache CXF 3.2.5.jbossorg-1)
12:24:24,822 INFO  [org.jboss.as.server] (Controller Boot Thread) WFLYSRV0212: Resuming server
12:24:24,822 INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0060: Http management interface listening on http://127.0.0.1:9990/management
12:24:24,822 INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0051: Admin console listening on http://127.0.0.1:9990
12:24:24,822 INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0025: WildFly Full 14.0.1.Final (WildFly Core 6.0.2.Final) started in 21716ms - Started 306 of 527 services (321 services are lazy, passive or on-demand)

WildFlyは、8080番ポートで動きます。下記にアクセスするとトップ画面が表示されます。
http://localhost:8080/

今回やること「1. WildFly をインストールして動かしてみる。」はこれにて完了です。

#管理ユーザの追加
WildFly のトップページのAdministration Consoleリンクから管理画面へ行けます。管理画面を使用するためには管理ユーザを登録する必要があります。wildfly-14.0.1.Final\bin の下の add-user.bat コマンドを使用して管理ユーザを追加します。

コマンドプロンプトを開き、以下のように「add-user.bat」を実行して下さい。

コマンドプロンプト
>cd C:\wildfly-14.0.1.Final\bin
>add-user.bat

What type of user do you wish to add?
 a) Management User (mgmt-users.properties)
 b) Application User (application-users.properties)
(a):

Management UserApplication Userのどちらのタイプのユーザを追加するか聞かれますので、a)Management Userを選択します。デフォルトで選択されているので、そのままEnterでもかまいません。

コマンドプロンプト
Enter the details of the new user to add.
Using realm 'ManagementRealm' as discovered from the existing property files.
Username :

追加するユーザ名を聞かれますので好きな名前を入力します。とりあえず「jboss1」とします。

コマンドプロンプト
Password recommendations are listed below. To modify these restrictions edit the add-user.properties configuration file.

 - The password should be different from the username
 - The password should not be one of the following restricted values {root, admin, administrator}
 - The password should contain at least 8 characters, 1 alphabetic character(s), 1 digit(s), 1 non-alphanumeric symbol(s)
Password :

パスワードを決めます。ユーザ名と同じパスワード、root、admin、administratorはダメ、数字、アルファベット以外の文字も含めろ、と言ってくるので従います。ここでは「12345test!」とします。本番環境で運用するような場合は、もっと難しいパスワードにして下さい。

コマンドプロンプト
WFLYDM0048: Password is not strong enough, it is 'MODERATE'. It should be at least 'MEDIUM'.
Are you sure you want to use the password entered yes/no? yes
Re-enter Password :

そんな普通のパスワードで良いのか?と言われますが「yes」と入れて再度パスワードを入力します。

コマンドプロンプト
What groups do you want this user to belong to? (Please enter a comma separated list, or leave blank for none)[  ]:
About to add user 'jboss1' for realm 'ManagementRealm'
Is this correct yes/no? yes
Added user 'jboss1' to file 'C:\wildfly-14.0.1.Final\standalone\configuration\mgmt-users.properties'
Added user 'jboss1' to file 'C:\wildfly-14.0.1.Final\domain\configuration\mgmt-users.properties'
Added user 'jboss1' with groups  to file 'C:\wildfly-14.0.1.Final\standalone\configuration\mgmt-groups.properties'
Added user 'jboss1' with groups  to file 'C:\wildfly-14.0.1.Final\domain\configuration\mgmt-groups.properties'
Is this new user going to be used for one AS process to connect to another AS process?
e.g. for a slave host controller connecting to the master or for a Remoting connection for server to server EJB calls.
yes/no?

グループを聞かれますがそのままEnterを押します。「Is this correct yes/no?」と最終確認をされますが「yes」と入力します。続けて他の AS(WildFly) に接続するためにも使いますか?と聞かれますが「no」と入力して追加完了です。

再びトップの「Administration Console」から管理画面にアクセスします。認証ダイアログが出るので、ユーザ名「jboss1」、パスワード「12345test!」と入力し「OK」を押します。

管理画面のトップページが表示されました。これで管理画面が使えるようになりました。

JDBCドライバのデプロイ

Java からデータベースを利用するために MySQL の JDBC ドライバのインストール(デプロイ)を行います。インストール方法は以下の3つがあります。今回は一番簡単な方法で行います。

1. deployments フォルダに置く
ファイルを置くだけです。今回はこの方法で進めます。
2.管理画面からデプロイする
管理画面を使いたい方向けの方法です。
3.モジュールとして登録する
WildFly上で動作している全てのWebアプリケーションから使うことが出来ます。jarの重複が無くなり管理も楽になります。

:information_source:1.の方法と2.の方法は、最初にどちらにするか決めてください。2.の方法でデプロイを行った場合 jar は deployments フォルダには置かれません。その後、気付かずに1.の方法で deployments フォルダに同じ jar を置いた場合、二重にデプロイされたような状態になってしまい、消しても消えない?おかしいな、という状態に陥る可能性があります。気になる人はやってみよう

作業手順

wildfly-14.0.1.Final/standalone/deploymentsフォルダに用意したmysql-connector-java-8.0.13.jarを放り込んでください。しばらくしてwildfly-14.0.1.Final/standalone/deploymentsmysql-connector-java-8.0.13.jar.deployedというファイルができたら完了です。

#データソースの設定
Javaからデータベースを利用するためにデータソースの設定を行う必要があります。設定方法は以下の3つの方法があります。いずれの方法も最終的には設定ファイルildfly-14.0.1.Final\standalone\configuration\standalone.xmlが更新されます。

1.管理画面「Administration Console」を使って設定する
管理画面の指示に従って行えますので分かりやすいです。今回はこの方法で進めます。
2.設定ファイル(standalone.xml)を編集する
設定ファイル(standalone.xml)をテキストエディタで編集します。書式を誤るとWildFlyが起動しなくなる場合もあります。
3.管理CLI(jboss-cli)コマンドを使って設定する
管理CLI(jboss-cli)コマンドを使います。書式を誤ることはありませんがコマンドは複雑です。

作業手順

まず、現在の設定ファイルwildfly-14.0.1.Final\standalone\configuration\standalone.xmlをテキストエディタで開いて確認してみましょう。「datasource」で文書内検索を行うと以下の設定がみつかると思います。これは最初から設定されている「ExampleDS」というデータソース設定です。WildFly 自身も「H2Database」というデータベースを持っていて内部で使用しています。ここに新たなデータソースを追加します。

wildfly-14.0.1.Final\standalone\configuration\standalone.xml(抜粋)
<subsystem xmlns="urn:jboss:domain:datasources:5.0">
    <datasources>
        <datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS" enabled="true" use-java-context="true">
            <connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE</connection-url>
            <driver>h2</driver>
            <security>
                <user-name>sa</user-name>
                <password>sa</password>
            </security>
        </datasource>
        <drivers>
            <driver name="h2" module="com.h2database.h2">
                <xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
            </driver>
        </drivers>
    </datasources>
</subsystem>

管理画面にアクセスしてDeploymentsをクリックしてmysql-connector-java-8.0.13.jarがデプロイされていることを確認します。

続いてConfigurationSubsystemDatasource&DriversDatasourcesメニューからAdd Datasourceを選びます。

白いポップアップウィンドウが出現するので設定していきます。一覧の中からMySQLをチェックしてNextボタンを押して次に進みます。

NameJNDI Nameを入力します。最初からMySqlDS java:/MySqlDSと入ってますが、その名前で問題無いのでNextを押して次に進みます。JNDI Nameは「java:/」または「java:jboss/」で始まる名前にする決まりになっています。※管理画面を使う場合は間違ってもちゃんと警告してくれるようです。

Driver Nameのプルダウンメニューからmysql-connector-java-8.0.13.jarを選択します。Driver Module Name Driver Class Nameは最初から入っているのでNextを押して次に進みます。

Connection URLjdbc:mysql://localhost:3306/testdb?serverTimezone=JSTと入力します。「/testdb」は使用するデータベース名です。「?serverTimezone=JST」は MySQL のパラメータですが、付けないとエラーになったので付けます。User Name Passwordを入力してNextボタンを押して次に進めます。

接続できるようになったかテストします。Test Connectionボタンを押します。

Test Connection Successfulと表示されたら成功ですNextを押して最終確認画面に進みます。

Finishを押して完了です。

Closeボタンでウィンドウを閉じましょう

再びwildfly-14.0.1.Final\standalone\configuration\standalone.xmlをテキストエディタで開いて確認してみましょう<datasource jndi-name="java:/MySqlDS" pool-name="MySqlDS">タグが追加されていると思います。

wildfly-14.0.1.Final\standalone\configuration\standalone.xml(抜粋)
<subsystem xmlns="urn:jboss:domain:datasources:5.0">
    <datasources>
        <datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS" enabled="true" use-java-context="true">
            <connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE</connection-url>
            <driver>h2</driver>
            <security>
                <user-name>sa</user-name>
                <password>sa</password>
            </security>
        </datasource>
        <datasource jndi-name="java:/MySqlDS" pool-name="MySqlDS">
            <connection-url>jdbc:mysql://localhost:3306/testdb?serverTimezone=JST</connection-url>
            <driver-class>com.mysql.jdbc.Driver</driver-class>
            <driver>mysql-connector-java-8.0.13.jar</driver>
            <security>
                <user-name>test</user-name>
                <password>test</password>
            </security>
            <validation>
                <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLValidConnectionChecker"/>
                <background-validation>true</background-validation>
                <exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLExceptionSorter"/>
            </validation>
        </datasource>
        <drivers>
            <driver name="h2" module="com.h2database.h2">
                <xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
            </driver>
        </drivers>
    </datasources>
</subsystem>

今回やること「2. データベースへ接続する設定をする。」はこれにて完了です。

#Web アプリケーションのデプロイ

Webアプリケーションのデプロイを行います。デプロイ方法は以下の3つがあります。今回は一番簡単な方法でやります。

1. deployments フォルダに置いてデプロイする
ファイルを置くだけです。今回はこの方法で進めます。
2.管理画面からデプロイする
管理画面を使いたい方向けの方法です。
3.管理CLIでデプロイする
コマンドでデプロイしたい方向けの方法です。

:information_source:1.の方法と2.の方法は、JDBCドライバの時と同様、最初にどちらにするか決めてください。

作業手順
wildfly-14.0.1.Final/standalone/deploymentsフォルダに用意したhelloworld.warを置いてください。しばらくしてwildfly-14.0.1.Final/standalone/deploymentshelloworld.war.deployedというファイルができたらデプロイ完了です。

デプロイしたアプリケーションにアクセスしてトップページが表示されれば成功です。本記事の手順を利用した場合は下記のURLにアクセスして

以下のように表示されると思います。

Hello World!
あいうえお
かきくけこ

今回やること「3. 簡単なWebアプリケーションでデータベースから取得したデータを表示してみる。」はこれにて完了です。

以上で全て終了です。

もういらないのであれば、WildFly と MySQL を止めてコマンドプロンプトを閉じ、C:\wildfly-14.0.1.FinalC:\mysql-8.0.13-winx64をゴミ箱に入れれば跡形も無く消えます。

#おわりに
WildFly の止め方です。standalone.bat が動いているコマンドプロンプトをCtrl+Cで止めて下さい。管理CLIを使用する場合は以下のようにして停止させます。

新たに開いたコマンドプロンプト
>jboss-cli -c --command=":shutdown"

Enterを押し、しばらく待つと standalone.bat が動いている方のコマンドプロンプトでWildFlyが終了します。

WildFlyが動いているコマンドプロンプト
17:32:08,388 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-6) WFLYUT0004: Undertow 2.0.13.Final stopping
17:32:08,404 INFO  [org.jboss.as] (MSC service thread 1-8) WFLYSRV0050: WildFly Full 14.0.1.Final (WildFly Core 6.0.2.Fi
nal) stopped in 234ms
続行するには何かキーを押してください . . .
>

#参考URL
WildFly Documentation version 15.0.0.Final
Getting Started with WildFly 15
JBoss EAP 7.1 スタートガイド
JBoss Enterprise Application Platform6 構築・運用パーフェクトガイド
OpenStandia WildFly最新情報

55
45
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
55
45

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?