問題タブ [akka-http]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
scala - scala.concurrent.onComplete と akka.http.scaladsl.server.directives.onComplete の違い
scala の並行パッケージには、ディレクティブでは Directive1 を返しますが、onComplete
何も返さないメソッドがあります。akka-http
それが唯一の違いですか?私はときどき、この 2 つの方法で混乱しました。
scala - Future の結果に基づいて異なる応答を返すにはどうすればよいですか?
おおよそ次のようなログインエンドポイントがあります
DBManager.getUserByEmail
戻りますOption[User]
。すべてが非同期である Slick に切り替えたところ、メソッドが を返すようになりFuture[User]
ました。
future が失敗した場合、希望する応答を送信するにはどうすればよいですか? 私はこれを試しました
でコンパイルに失敗します
どうすれば修正できますか?
scala - Akka HTTP は Future の結果に基づいて応答ヘッダーを設定します
Akka-HTTP 2.0-M2 を使用して REST サービスを設計していますが、クエリされたアクターの応答に依存する追加のヘッダーを提供したい状況に遭遇しました。
現在、私は以下を持っています...
これは問題なく戻っていますが。OncologistList のプロパティの一部を、本文で返すのではなく、応答ヘッダーに移動したいと考えています。つまり、合計レコード数とオフセットを返し、クライアントが使用する前と次の URL ヘッダー値を生成したいと考えています。進め方に迷っています。
java - akka アクターが一度に 1 つのジョブを実行するように制限する方法
私はJava-Akkaベースのアプリケーションを持っています.1人のAkkaアクターが別のAkkaアクターに特定のジョブを実行するように指示し、コマンドプロンプトでジョブを開始しますが、10個のジョブを与えた場合、10個のコマンドプロンプトで一度にすべてのジョブを開始します. 100 以上のジョブが発生すると、システムが停止します。
では、一度に 1 つのジョブを実行するようにアプリケーションを作成するにはどうすればよいでしょうか。他のすべてのジョブは、FIFO (先入れ先出し) 方式で CPU を取得する必要があります。
scala - 複数のルート構成を持つ akka-http
簡単な背景
新しい REST プロジェクト (完全に非 UI) を作成するための Akka HTTP スタックを学習するいくつかの例を実行しています。私はAkka HTTP Microservice Exampleを使用して拡張し、多くのユースケースと構成を処理してきましたが、Scala と Akka HTTP がうまく機能することに驚きました。
現在のセットアップ
現在、次のような構成があります。
パラメータは、、 などを使用して、そのroutes
中に典型的なデータを持つ単純な値です。path
pathPrefix
問題
複数の Scala ファイルまたはどこかの例でルーティングを設定する方法はありますか?
App
私は、アプリケーションのさまざまな領域を処理し、マーシャリングをルート拡張に任せるだけで、懸念を分離し、アクターのセットアップと処理を処理する一連のクラスを定義できるようにしたいと考えています。
@javax.ws.rs.Path("/whatever")
これは、クラスのような注釈を使用して Java でどのように処理したかという点で、私が考えすぎている可能性があります。その場合は、意識の変化を遠慮なく指摘してください。
scala - 一般的に Akka-Http で拒否をラップする方法
Akka Http ルーティング システムとその拒否システムを使用したいのですが、一般的な Json メッセージ ブロック内で拒否の応答 Json をネストする必要があります。
RejectionHandler を作成し、考えられるすべての拒否のケースを追加し、特定の応答コードとメッセージでそれらすべてを処理するという非常に非一般的な方法でこれを機能させています。
例:
ただし、私が望むのは、Akka HTTP がデフォルトで提供する応答コードと、提供されるきれいな印刷メッセージであり、考えられるすべての拒否タイプの行なしで Json コントロール ラッパー内にネストされているだけです。これは可能であるように思われますが、私はそれを完了することができませんでした。
scala - Akka HTTP: 今後ブロックするとサーバーがブロックされる
Akka HTTP を使用してリクエストを基本認証しようとしています。たまたま、認証する外部リソースがあるため、このリソースに対して残りの呼び出しを行う必要があります。
これには時間がかかります。処理中は、API の残りの部分がブロックされ、この呼び出しを待っているようです。これを非常に簡単な例で再現しました。
ログ エンドポイントに投稿すると、ログ エンドポイントが指示した 5 秒間待機して、get エンドポイントもスタックします。
これは予想される動作ですか? また、そうである場合、API 全体をブロックせずにブロック操作を行うにはどうすればよいですか?