GlassFish で JPedal をデプロイする
GlassFish 6 は JavaEE から JakartaEE に移行しました。JavaEE パッケージがサポートされなくなったため、GlassFish 5 を使用する必要があります。
2021年1月時点で、GlassFish 5 は Java 10 以降と互換性がありません。Java 10 以降を使用している場合は、Java 9 以前の SDK を使用するようにサーバーを設定する必要があります。
設定するには、/glassfish/config/ に移動して以下を変更してください:
Windows:
asenv.bat - Add "set AS_JAVA=PATH\TO\JDK.jdk"
For example: "set AS_JAVA=C:\Program Files\Java\jdk1.8.0_172.jdk"
Mac:
asenv.conf - Add "AS_JAVA=/PATH/TO/JDK.jdk"
For example: "AS_JAVA=/Library/Java/JavaVirtualMachines/jdk1.8.0_172.jdk"
始める前に、WAR ファイルが必要です。ダウンロードするか、自分でビルドすることができます。
この WAR ファイルは JPedal サービスを動作させるために必須です。
jpedal-microservice.war ファイルをダウンロードしてください。
トライアルユーザーは、トライアル登録 後に Docker セクションから war ファイルをダウンロードできます。
JPedal Microservice Example プロジェクトのコピーをビルドしてください。
手順は GitHub ページ
で確認できます。
- 最新版の GlassFish をダウンロードしてインストールします。Web Profile または Full Platform のどちらかを使用できます。(テスト済みバージョン:4.X、5.0)
- GlassFish を起動し、ブラウザで管理コンソールに移動します。
- 例えば、
glassfish5/glassfish/bin/asadmin start-domainコマンドを実行すると、サーバーがポート 8080 で起動し、管理コンソールはポート 4848 で利用できます。詳細な手順については、GlassFish に付属のREADME.txtを確認してください。
- 例えば、
- ホームページで、左側のメニューバーから「Applications」をクリックし、「Deploy」をクリックします。

- 以下のような Deploy ページが表示されます。
以下の値を入力してください。
残りのオプションはデフォルト値のままにするか、お好みに応じて設定できます。- 先ほどビルドした .war ファイルをアップロードするか、そのパスを GlassFish に提供します。
- Type を「Web Application」に設定します。
- Context Root を設定します。空のままにすると、デフォルトのコンテキストルート(通常は .war ファイルの名前)が使用されます。例えば、サーバーが
localhost:8080にあり、Web アプリのコンテキストルートをjpedal-microserviceに設定した場合、localhost:8080/jpedal-microserviceでアクセスできます。 - Virtual Server を設定します。必ずサーバーを選択してください。選択しないと、Web アプリのデプロイに失敗します。
- OK をクリックして完了です!
Web アプリが正常にデプロイされたかどうかは、ブラウザでその URL に移動して確認できます。中央に JPedal Microservice Example と書かれた真っ白なページが表示されるはずです。
REST API を使用して JPedal Microservice Example と対話できます(詳細は GitHub ページ を参照してください)。
場合によっては、プログラムの状態を外部のデータベースに保存したいことがあります。例えば、サーバー障害が発生した際にプログラムの状態を保持したい場合などです。
これを行うには、GlassFish 上でデータソースを作成し、その JNDI 名をマイクロサービスの設定に追加する 必要があります。
まず、データベースドライバの jar ファイルを GlassFish にインストールする必要があります。GlassFish には MySql、Oracle、MicrosoftSqlServer などのデータベースドライバがデフォルトでインストールされているため、ユースケースによってはこのステップは不要かもしれません。
新しいデータベースドライバをインストールするには、asadmin を実行し、ドメインを起動して、以下を実行します:
add-library "PATH/TO/DATABASE/DRIVER.JAR"
これにより、データソースのセットアップ時に使用できるように、ドライバが GlassFish に自動的にセットアップされます。
次に、管理パネルでデータソースを作成する必要があります。
管理パネルに移動し(デフォルトでは localhost:4848 でアクセス可能)、左側のナビゲーションメニューを使用して JDBC -> JDBC Connection Pools に移動します。

新しいプールを作成し、任意の名前を付け、タイプを javax.sql.DataSource に設定し、Database Driver Vendor をデータベースドライバの名前(例:sqlite、mysql、mariadb)に設定します。
次に「次へ」をクリックします。

注:この例では SQLite を使用しており、手動で入力する必要があります。ドライバは上部のドロップダウンボックスで選択できる場合があります。
次の画面で、データソースのクラス名をデータベースドライバのデータソースクラスに設定します(ドライバのドキュメントに記載されています。自動入力されていない場合)。プール設定をお好みに応じて設定し、下にスクロールして追加プロパティを入力します。プロパティが自動的に追加されていない場合は、ドライバ jar のドキュメントで必要なプロパティを確認できます。
「完了」をクリックします。

注:この例では SQLite の追加プロパティを示しています。他のデータベースドライバでは異なるプロパティがあります。
注:すべてのプロパティが必須ではなく、空のままにできます。この例では
Urlのみが必須です。入力する必要があるフィールドについては、データベースドライバのドキュメントを確認してください。
コネクションプールを作成した後、JDBC -> JDBC Resources に移動して新しいリソースを作成します。

名前をお好みに設定します(これが設定に記述する
JNDI 名で、通常は jdbc/ で始まります。例:jdbc/myDatabase)。プール名を先ほど作成したプールに設定し(この例では test)、OK をクリックします。

最後に、前のステップで設定したリソース名をマイクロサービスの設定に追加 します。
