JPedalをJettyにデプロイする
開始する前に、WARファイルが必要です。これはダウンロードするか、自分でビルドすることができます。
このWARファイルは、JPedalサービスを動作させるために必須です。
jpedal-microservice.war ファイルをダウンロードしてください。
トライアルユーザーは、トライアル登録 後のDockerセクションでwarのダウンロードを見つけることができます。
JPedal Microservice Exampleプロジェクトのコピーをビルドしてください。
手順はGitHubページ
で確認できます。
- 最新バージョンのJetty 10 をダウンロードしてインストールしてください(Jetty 11以降はJakartaへの移行により非サポートとなっていますのでご注意ください)。
- Jettyのホームディレクトリ用に
JETTY_HOMEという新しい環境変数を作成してください。 - Jetty baseのコンテンツを格納するディレクトリを作成し、そのディレクトリに移動してください。
- 次のコマンドを使用して必要なモジュールをセットアップしてください。
java -jar JETTY_HOME/start.jar --add-module=server,http,deploy,jsp - Jetty baseディレクトリに作成された
webappsフォルダにwarファイルを移動してください。
warファイルの名前がWebアプリのベースとなります。例えば、Webサーバーがlocalhost:8080でホストされている場合、jpedal-microservice.warはlocalhost:8080/jpedal-microserviceにデプロイされます。 - Jettyサーバーを起動し、ブラウザで管理コンソールに移動してください。
java -jar start.jarを実行すると、サーバーがlocalhost:8080で起動します
Webアプリが正常にデプロイされたかどうかは、ブラウザでそのURLに移動して確認できます。中央にJPedal Microservice Exampleと書かれた白い空白ページが表示されるはずです。
REST APIを使用してJPedal Microservice Exampleと対話できます(詳細についてはGitHubページ を参照してください)。
場合によっては、プログラムの状態をデータベースに外部保存したいことがあります。例えば、サーバー障害が発生した場合にプログラムの状態を保持したい場合などです。
これを行うには、Jetty上でデータソースを作成し、そのJNDI名をマイクロサービスの設定に追加する 必要があります。
まず、データソースとして使用できるように、データベースドライバjarを$JETTY_HOME/lib/extにインストールする必要があります。
ドライバをロードしてサーブレットで使用できるようにするには、Jettyサーバーをモジュール:extとplusを指定して起動する必要があります。
- plusはJNDIを機能させるロジックを含んでいるため必要です(マイクロサービスがデータソースを見つけられるようにする機能)
- extは
$JETTY_HOME/lib/ext内のすべてのjarをクラスパスにロードするため、Jettyがデータベースドライバを見つけられるようにします。
これらは、Jettyの実行時にコマンドライン引数として
--add-module=plus,ext
を追加することで有効にできます
$JETTY_HOME/etc/jetty.xmlを開き、ファイルの最下部(Configureタグ内)に移動して、以下を追加してください:
<New id="ID" class="org.eclipse.jetty.plus.jndi.Resource">
<Arg><Ref refid="wac"/></Arg>
<Arg>JNDI_NAME</Arg>
<Arg>
<New class="DATASOURCE_CLASS">
<Set name="url">JDBC_URL</Set>
</New>
</Arg>
</New>
JNDI_NAMEは設定に記述する JNDI名です。これは通常jdbc/で始まります。例:jdbc/myDatabase
JDBC_URLはデータベースにアクセスするために使用されるURLです。データベースドライバjarのドキュメントで、これがどのような形式である必要があるかを確認できます。SQLite の場合はjdbc:sqlite:/PATH/ON/DISK.dbとなります。
DATASOURCE_CLASSは、データベースドライバjar内のドライバのDatasourceクラスの完全修飾クラス名です。これもデータベースドライバjarのドキュメントで確認できます。SQLite の場合はorg.sqlite.SQLiteDataSourceとなります。
この
<New class="DATASOURCE_CLASS">要素には、ドライバを設定するために使用される追加の<Set>要素を含めることもできます。これらにはユーザー名やパスワードなどのパラメータを含めることができます。これらはドライバに依存するため、利用可能なオプションはデータベースドライバのドキュメントで確認できます。
最後に、前のステップで設定したリソース名をマイクロサービスの設定に追加 してください。
