問題タブ [spray]
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 - スプレー ルーティング 404 応答
Future で Option[ProductDoc] を返すサービスがあります (akka ask として)
スプレー ルーティングで、有効な製品は製品に応答するが、不明だが適切に形成された製品は 404 を返すようにするにはどうすればよいですか?
コードでここのギャップを埋めたい:
私が仕事に取り掛かることができる唯一の方法は、この忌まわしきものです:
これは、これを達成するための正しい方法ではありませんよね? これはかなり単純なパターンのように思えますが、すでに誰かによって解決されているはずです!
java - リモートサーバーでのScalaアプリケーションのデプロイ、開始、停止
推奨される方法は、ScalaアプリケーションをリモートLinuxサーバーにデプロイすることです。
これは、リモートサーバーにScalaアプリをデプロイするための非常に単純ですが、制限された方法です(それほど機密性の低いプロジェクトの迅速なテストに適しています)。
- リモートサーバーからソースをgitからプルします
- sbt-assemblyプラグインを使用して、サーバー上にjarを作成します
次に、nohupを使用してScalaアプリケーションを実行します。これにより、プロセスを終了せずにリモートセッションを終了できます。
nohup java -jar myapp.jar> myapp.log 2> myapp.err </ dev / null&
まず、データベースなどのリソースを使用していることを考慮して、実行中にプロセスを停止するための最良の方法は何ですか。JavaプロセスIDを検索して、それを削除しますか?
次に、再起動時にJavaアプリケーションを自動的に起動するための最良の方法は何ですか。過去にinit.dを使用したことを思い出しますが、Javaアプリケーションだったので、少し苦労したことを覚えています。
アップデート:
ここの部屋で象がいなくて寂しかった。私はSprayライブラリを使用しています。SprayライブラリはAkkaを使用しているため、多くの興味深いオプションが提供されます。
scala - HTTP サーバーを継続的にポーリングしてアクターにディスパッチする慣用的な方法
コマンドの Web サーバーを継続的にポーリングするクライアントを作成する必要があります。サーバーからの応答は、コマンドが使用可能であること (この場合、応答にコマンドが含まれます)、または使用可能なコマンドがないという指示を示します。着信コマンドの新しい要求を開始する必要があります。
私はスプレー クライアントと Akka を使用してそれを行う方法を理解しようとしていますが、それを行う方法を考えることができますが、どれもそれを行うための慣用的な方法ではないようです。質問は次のとおりです。
いくつかのスレッドが同じ Web サーバーに着信コマンドをポーリングし、コマンドをアクターに渡す最も賢明な方法は何ですか?
scala - スプレーの例を実行できません | Maven 依存関係エラー
私はSprayライブラリを手に入れようとしていますが、Mavenの依存関係のためにその例を実行できません.
ドキュメントで提供されているように、Spray リポジトリを次のように定義しました。
次に、その依存関係を次のように定義しました。
ただし、Maven インストールを実行しようとすると、次のエラーが発生します。
[エラー] プロジェクト Spray-test1 で目標を実行できませんでした: プロジェクト org.spray:spray-test1:jar:1.0-SNAPSHOT の依存関係を解決できませんでした: [io.spray:spray-http:jar:1.1 の依存関係を収集できませんでした-M7 (コンパイル), io.spray:spray-httpx:jar:1.1-M7 (コンパイル), io.spray:spray-util:jar:1.1-M7 (コンパイル), com.chuusai:shapeless_2.9.2:jar: 1.2.0 (コンパイル)]: io.spray:spray-http:jar:1.1-M7 のアーティファクト記述子の読み取りに失敗しました: アーティファクト io.spray:spray-http:pom:1.1-M7 をスプレーレポとの間で転送できませんでした ( http://repo.spray.io/ ): http://repo.spray.io/io/spray/spray-http/1.1-M7/spray-http-1.1-M7.pomへの接続がタイムアウトしました -> [ヘルプ 1] [エラー]
ポインタや提案は高く評価されます。
ありがとう
sbt - spec2 の JVM メモリ設定
SBT は、 specs2とSpray-testkitを使用した、より大きな受け入れスタイルのテストのいくつかでメモリ不足になり続けます。10 ギガまたは RAM が利用可能で、現在、MaxPermSize を 512m、Xms を 1024m、Xmx を 2g でSBT を ( SBT エクストラ スクリプトを使用して) 開始しています。
受け入れテストは、クライアントのビジネス プロセス全体を通じて特定の順序で実行されるため、受け入れテストを複数の小さなテストに分割することは容易ではありません。
自分の環境をより適切に構成する方法や、注意すべき落とし穴についてのアイデアをいただければ幸いです。
価値があるのは、UbuntuでOracle Javaを使用しており、プロジェクトではScala 2.10、sbt 0.12.2、spray 1.1-M7 with specs2 1.14を使用していることです。
テスト外でシステムを実行する場合、または小規模なテストを使用する場合、すべてが時計仕掛けのように実行されます。物事がうまくいかないのは、大規模なテストの間だけです。
heroku - Scala 2.10でherokuでスプレーサーバーを実行するには?
シンプルな REST サービスを使用して、Spray アプリを作成しました。heroku が提供する指示のバリエーションに従いました。バリエーション:
- 使用済み
sbt.version=0.12.0
Build.scala
build.sbt の代わりに使用- フィナグルの代わりにスプレーを使用
簡単に言えば、ローカルでほとんど問題なく実行でき、フォアマンも使用しています。次に、heroku にプッシュしようとしましたが、ビルドは 503 によって引き起こされる未解決の依存関係を変化させてひどく失敗します。たとえば、次のようになります。
これの原因は何ですか?これを実行するにはどうすればよいですか?
scala - スプレー ルーティング、コントローラー、DAO -- フューチャーを作成するのはどれですか?
スプレールーティングを使用しています。ルーターがコントローラーを呼び出し、コントローラーが DAO を呼び出します。スプレー缶サーバーに返される先物を作成するのはどれですか? 私の考えは次のとおりです。
- DAO は Future を返す必要があります。これは、長時間実行される操作 (データベース クエリ) が発生する場所であるためです。
- ルーターは Future を作成し、作成時に最大限の柔軟性を残す必要があります
後者の場合、複数のデータベース クエリを連鎖させることなく複数のデータベース クエリを作成する 1 つの Future を持つことができます。
考え?
scala - タッチベースのモバイル Web アプリのための Play と Sencha の統合
モバイル/タッチベースのデバイス(iPhone、Androidなど)と互換性のあるモバイルWebアプリを開発する必要があります。
私は Play の機能がとても気に入っています。必要なものはほとんどすべて揃っています。Play を Scala で使用する予定です。
私は次の疑問を持っています。これらについて助けてもらえますか:
Play は Sencha フレームワークと統合できますか? ビューレイヤーとして sencha を使用する必要があるためです。
私は主に優れた垂直スケーラビリティをサポートするために Play を選択しました。どちらの Web サーバーを優先すべきでしょうか。ビルトインの JBoss Netty または任意の Akka ベースの Web サーバー、Spray など.. すべてが私にとって新しい名前であるため、ここで少し混乱しています:)
どんな提案でも大歓迎です。
ありがとう。
scala - ルートの REST API ドキュメントの自動化
スプレー アプリケーションでルートの文書化を自動化することは可能ですか?
たとえば、スプレールートについて知っていることを説明するマークダウンを生成する SBT プラグインはおそらくありますか?