WildFlyのインストールとNetbeansとの連携

# 概要

GlassFishのプロジェクトの雲行きが怪しくなってきたので、WildFlyの調査を開始。
WildFlyをインストールして、NetBeansで使えるようにする。

# 環境

* Linux Mint 16 Petra
* WildFly 8.0.0.Final
* NetBeans 8.0

# 内容

## WildFlyのインストール

* ダウンロード

```bash
$ wget http://download.jboss.org/wildfly/8.0.0.Final/wildfly-8.0.0.Final.zip
```

* 適当な場所に解凍する。

```bash
$ unzip wildfly-8.0.0.Final.zip
```
* ポートを設定する。

wildfly-8.0.0.Final/standalone/configuration/standalone.xml の`${jboss.http.port:8080}`を修正する。8080のところを設定したいポートに変える。今回は9080を設定。管理者ポート`${jboss.management.http.port:9990}`も10990に変えてみる。
standalone.xmlはWeb Profile用、standalone-full.xmlはフルプロファイル用の設定ファイル。

デフォルトポートからのオフセットで指定することもできる。
以下のようにoffsetに1000を指定することで9080になる。管理コンソールなども+1000される。

```diff:wildfly-8.0.0.Final/standalone/configuration/standalone.xml
- socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">
+ socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:1000}">
```

一括でポートをずらせるので複数のWildFlyを使う場合は便利。
ただし、NetBeansとの連携で使用する場合はこの方法だとNetBeansから停止できない。

* 起動する。

```bash
$ cd wildfly-8.0.0.Final/bin
$ ./standalone.sh
```

* ブラウザでlocalhost:9080を開いて、起動していることを確認。

![wildfly_top.png](https://qiita-image-store.s3.amazonaws.com/0/41215/ab0297fd-7c42-e6c3-e13b-8f29f94f74a1.png)

* 管理者ユーザを追加。

```bash
$ ./add-user.sh

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

Enter the details of the new user to add.
Using realm 'ManagementRealm' as discovered from the existing property files.
Username : [ユーザ名を入力]
...
 - The password should be different from the username
Password : [パスワードを入力]
...
Re-enter Password : [パスワードを再入力]
What groups do you want this user to belong to? (Please enter a comma separated list, or leave blank for none)[  ]: [Enter]
About to add user 'admin' for realm 'ManagementRealm'
Is this correct yes/no? yes
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? no
```

* ブラウザでlocalhost:10990を開いて、管理コンソールにアクセスできることを確認。

![wildfly_admin.png](https://qiita-image-store.s3.amazonaws.com/0/41215/4e3550b6-3afb-d78d-10f4-7fbc2e29a606.png)


## NetBeansとの連携

* なぜか使用可能なプラグインで見つからなかったので、http://plugins.netbeans.org/plugin/53333/wildfly-application-server からダウンロード。

* NetBeansを起動し、ツール -> プラグイン -> ダウンロード済 -> プラグインの追加

先ほど、ダウンロードした.nbmを選択してインストール。

* NetBeansが再起動される。

* ツール -> サーバー -> サーバーの追加。

* WildFlyを選択。

![nb_add_server_wf.png](https://qiita-image-store.s3.amazonaws.com/0/41215/77f37ac1-cf9b-f4d1-489a-e955c15e8e73.png)

* サーバーの場所を指定。

![nb_add_server_instance.png](https://qiita-image-store.s3.amazonaws.com/0/41215/beb6441f-a707-3948-603a-1fbd0ab024b1.png)

* サーバーのインスタンスを指定。

![nb_add_server_port3.png](https://qiita-image-store.s3.amazonaws.com/0/41215/f1c671d1-1f66-513b-132e-a28d0b410483.png)

* サービスからWildFlyを右クリックしてプロパティを選択。

* PlatformタブのConfiguration Fileでstandalone.xmlが選択されていることを確認する。

* サービスからWildFlyを右クリックして起動と停止がおこなえる。

![nb_service.png](https://qiita-image-store.s3.amazonaws.com/0/41215/1ef02de5-a708-2e3b-0e78-40d7d682bf71.png)