GlassFishでBuildVuをデプロイする
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ファイルはBuildVuサービスが動作するために必須です。
buildvu-microservice.war ファイルをダウンロードしてください。
トライアルユーザーは、トライアル登録 後のDockerセクションでwarのダウンロードを見つけることができます。
BuildVu 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アプリのコンテキストルートをbuildvu-microserviceに設定した場合、localhost:8080/buildvu-microserviceでアクセスできます。 - Virtual Serverを設定します - サーバーが選択されていることを確認してください。そうでないとWebアプリのデプロイに失敗します。
- OKをクリックすれば完了です!
Webアプリが正常にデプロイされたかどうかは、ブラウザでそのURLに移動することで確認できます。中央にBuildVu Microservice Exampleと書かれた空白の白いページが表示されるはずです。
BuildVu Microservice ExampleはREST APIを使用して操作できます(詳細は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)に設定します。
次に「next」をクリックします

注:この例の画像ではSQLiteを使用しており、手動で入力する必要があります。ドライバーは入力ボックスの上のドロップダウンボックスで利用できる場合があります。
次の画面で、datasource Classnameをデータベースドライバーのデータソースクラスに設定します(自動入力されていない場合は、ドライバーのドキュメントで確認できます)。プール設定をお好みで設定し、下にスクロールしてadditional propertiesを入力します。プロパティが自動的に追加されていない場合は、ドライバーjarのドキュメントで必要なプロパティを見つけることができます。
次に「finish」をクリックします

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

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

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