AWS Elastic BeanstalkにデプロイされたJavaアプリケーションのエンドポイントへの接続に問題があります。アプリケーションは多数のPOST要求を処理し、モバイルアプリケーションを提供することを意図しているため、サーバー自体には静的ファイルがありません。私はSpark Javaフレームワークを使用しました。これはLocalhostでテストしたときにエンドポイントを正しく検出しますが、AWS Elastic Beanstalkではテストしませんでした。AWS Elastic BeanstalkへのSpark-Java(Gradle、Maven)アプリケーションのデプロイ
私はExploded warをEB(Tomcat Webサーバーを実行している)にデプロイできますが、送信したすべてのリクエストは404 Error:Resource not Foundを返します。私はSparkApplicationインターフェースを実装し、main()からinit()にすべてのエンドポイントを移動し、提案されたコードを追加しました。 web.xmlファイルに追加します。
アップロードされた.warには、web.xml、lib(グラデーションライブラリを含む)、およびクラス(コンパイルされた出力付き)を含むMETA-INFが含まれています。再び、静的ファイルはありません。
詳細:
私が展開するElastic BeanstalkであるIntelliJ(アルティメット)プラグインを使用して、この時点で私は、これはEBのダッシュボードに直接の.warを展開と違いはありませんことをテストしました。私はセキュリティ設定ですべてのポートと接続を開いて、接続の問題を破棄しました。私はこれがURLをマッピングしていないサーブレットの問題だと思っています。助言がありますか?
私は、.jarを試してみましょう –
AWSで、Spark Javaでより自然なオプションです。私はTomcatの下で戦争としてSparkを走らせました。戦争のtomcatがあなたのREST APIパスの前にURLに追加しなければならない戦争の名前であるコンテキストを与えるので、心に留めておきなさい。したがって、8090のblah.warがある場合、localhost:8090/blah/myrestpathではなくlocalhost:8090/myrestpath。 –
ありがとうございます!それは港の問題であることが分かった。 –