Visual Studio Code を使用して Java Service Fabric アプリケーションを開発する
VS Code 用の Service Fabric Reliable Services 拡張機能を使用すると、Windows、Linux、および macOS オペレーティング システム上で Java Service Fabric アプリケーションを簡単にビルドできます。
この記事では、Visual Studio Code を使用して Java Service Fabric アプリケーションをビルド、デプロイ、およびデバッグする方法について説明します。
重要
Service Fabric Java アプリケーションは Windows マシン上で開発できますが、デプロイは Azure Linux クラスターに対してのみ実行できます。 Java アプリケーションのデバッグは Windows 上ではサポートされていません。
前提条件
この記事では、VS Code、VS Code 用の Service Fabric Reliable Services 拡張機能、および開発環境に必要な依存関係が既にインストールされていることを前提としています。 詳細については、作業の開始に関するセクションを参照してください。
サンプルのダウンロード
この記事では、Service Fabric Java アプリケーション クイックスタート サンプルの GitHub リポジトリの Voting アプリケーションを使用しています。
リポジトリを開発マシンに複製するには、ターミナル ウィンドウ (Windows ではコマンド ウィンドウ) から次のコマンドを実行します。
git clone https://github.com/Azure-Samples/service-fabric-java-quickstart.git
VS Code でアプリケーションを開く
VS Code を開きます。 アクティビティ バーの [エクスプローラー] アイコンをクリックし、[フォルダーを開く] をクリックするか、[ファイル]>、[フォルダーを開く] の順にクリックします。 リポジトリを複製したフォルダーの ./service-fabric-java-quickstart/Voting ディレクトリに移動し、 [OK] をクリックします。 このワークスペースには、以下のスクリーンショットと同じファイルが含まれています。
アプリケーションのビルド
(Ctrl + Shift + P キー) を押して VS Code でコマンド パレットを開きます。
[Service Fabric:Build Application](Service Fabric: アプリケーションのビルド) コマンドを探して選択します。 ビルドの出力は統合ターミナルに送信されます。
アプリケーションをローカル クラスターにデプロイする
アプリケーションをビルドしたら、ローカル クラスターにデプロイできます。
重要
ローカル クラスターへの Java アプリケーションのデプロイは、Windows マシンではサポートされていません。
コマンド パレットから [Service Fabric:Deploy Application (Localhost)](Service Fabric: アプリケーションのデプロイ (Localhost)) コマンドを選択します。 インストール プロセスの出力は統合ターミナルに送信されます。
デプロイが完了したら、ブラウザーを起動して Service Fabric Explorer を開きます (
http://localhost:19080/Explorer
)。 アプリケーションが実行中であることがわかります。 この処理には時間がかかる場合があります。アプリケーションが実行されていることを確認したら、ブラウザーを起動して
http://localhost:8080
のページを開きます。 これはアプリケーションの Web フロントエンドです。 項目を追加し、その項目をクリックして投票することができます。クラスターからアプリケーションを削除するには、次を選択します: [Service Fabric: Remove Application](Service Fabric: アプリケーションの削除) コマンド (コマンド パレットから)。 アンインストール プロセスの出力は統合ターミナルに送信されます。 Service Fabric Explorer を使用して、アプリケーションがローカル クラスターから削除されたことを確認できます。
アプリケーションのデバッグ
VS Code でアプリケーションをデバッグする場合、ローカル クラスター上でアプリケーションを実行する必要があります。 ブレークポイントをコードに追加することができます。
重要
Java アプリケーションのデバッグは Windows マシン上ではサポートされていません。
デバッグのために VotingDataService と Voting アプリケーションを準備するには、次の手順を実行します。
Voting/VotingApplication/VotingDataServicePkg/Code/entryPoint.sh ファイルを更新します。 ('#' を使用して) 6 行目のコマンドをコメントアウトし、ファイルの最後に次のコマンドを追加します。
java -Xdebug -Xrunjdwp:transport=dt_socket,address=8001,server=y,suspend=n -Djava.library.path=$LD_LIBRARY_PATH -jar VotingDataService.jar
Voting/VotingApplication/ApplicationManifest.xml ファイルを更新します。 StatefulService 要素の MinReplicaSetSize 属性と TargetReplicaSetSize 属性を "1" に設定します。
<StatefulService MinReplicaSetSize="1" ServiceTypeName="VotingDataServiceType" TargetReplicaSetSize="1">
VS Code でアクティビティ バーの [デバッグ] アイコンをクリックして、デバッガー ビューを開きます。 デバッガー ビューの上部にある歯車アイコンをクリックし、ドロップダウン メニューから [Java] を選択します。 launch.json ファイルが開きます。
launch.json ファイルの Debug (Attach) という名前の構成のポート値を 8001 に設定します。 ファイルを保存します。
アプリケーションをローカル クラスターにデプロイするには、次を使用します: [Service Fabric: Deploy Application (Localhost)](Service Fabric: アプリケーションのデプロイ (Localhost)) コマンド。 Service Fabric Explorer でアプリケーションが実行されていることを確認します。 これで、アプリケーションをデバッグする準備が整いました。
ブレークポイントを設定するには、次の手順を実行します。
エクスプローラーで、 /Voting/VotingDataService/src/statefulservice/VotingDataService.java ファイルを開きます。
addItem
メソッドのtry
ブロックの最初のコード行 (80 行目) にブレークポイントを設定します。重要
実行可能なコード行にブレークポイントを設定します。 たとえば、メソッドの宣言、
try
ステートメント、またはcatch
ステートメントに設定されているブレークポイントは、デバッガーで無視されます。デバッグを開始するには、アクティビティ バーの [デバッグ] アイコンをクリックし、デバッグ メニューから [Debug (Attach)](デバッグ (アタッチ)) を選択し、実行ボタン (緑色の矢印) をクリックします。
Web ブラウザーで
http://localhost:8080
にアクセスします。 テキスト ボックスに新しい項目を入力し、 [+ 追加] をクリックします。 ブレークポイントにヒットするはずです。 VS Code の上部にある [デバッグ] ツールバーを使用して、実行の継続、行のステップ オーバー、メソッドへのステップ イン、現在のメソッドからのステップ アウトを行うことができます。デバッグ セッションを終了するには、VS Code の上部にある [デバッグ] ツールバーのプラグ アイコンをクリックします。
デバッグが完了したら、 [Service Fabric:Remove Application](Service Fabric: アプリケーションの削除) コマンドを使用して、ローカル クラスターから Voting アプリケーションを削除できます。