Akka、Spray、Jettyを含むスタンドアロンJARを作成しようとしています。理想的には、外部ファイルを一切使用せずに、アプリケーション全体をその単一のファイルで配布します。
組み込みのJettyサーバーインスタンスを作成する方法を理解しています
def main(args: Array[String]): Unit = {
val server = new Server(9012);
server.start();
server.join();
Thread.sleep(2000);
server.stop();
}
また、HelloServiceクラスとBootクラスを作成する際にSprayのサンプルコードに従いましたが、2つを接続する方法がわかりません。そのため、JettyサーバーでURLが要求されると、Sprayサービスがそれに応答します。どんな助けでも大歓迎です。
更新: Alois Cochardによって促された一連の問い合わせのおかげで、この問題の解決にかなり近づいています(私は、Webスクリプトのバックグラウンドから来ており、Java Webサービスに頭を悩ませています...挑戦的です! )。サーバーを起動し、入門テンプレートにあるJettyおよびakka構成ファイルを読み取るようにmainメソッドを変更しました。これらのファイルの両方を読み取っていますが、Jettyサーバーで/に移動すると、次のようになります。
HTTPエラー:500
/へのアクセスに問題があります。理由:
アサーションに失敗しました:ID'spray-root-service'のアクターが0個見つかりました、正確に1個が必要です
私は何かばかげたものが欠けていることを知っています(そしておそらくSBTを分解して使用する必要がありますが、Eclipseでコンパイルして実行し、ブラウザーで更新できるのはとてもシンプルで魅力的です)。
アップデート#2:問題を解明しました。私はWebAppContextオブジェクトを作成していませんでした。つまり、web.xmlが読み取られなかったため、Akkaが読み込まれていませんでした。これは、現在機能している改訂されたメインメソッドです。