問題タブ [play-slick]
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 - 滑らかで非同期にプレイ - 競合状態ですか?
Play-Slick DBAction コードを読んで、このコードには競合状態が含まれている可能性があると思いました。
この関数は、 が Future[Result] を返し、 を呼び出したr
後、将来の時点で実行されます。このコードに競合状態はありますか?withSession
session.close()
scala - Play slick アプリケーション - 接続リーク
play 2.1.3 アプリケーションで play-slick を使用しています。
レコードを挿入するコードは次のとおりです
上記のコードは接続をリークしており、アプリケーションは 30 回以上のリクエストの後に以下のエラーをスローします。
同様の問題が報告されていますが、このコードは少し異なります。
何か案が?
scala - Scala、Play Framework Slick の問題 - パラメータ rconv の暗黙的な値が見つかりませんでした
私はSlickのドキュメントのガイドラインに従っていますが、ここで何が間違っているのかわかりません:
この線
私にこれを与えています:
ここで何が間違っていますか?
Play フレームワーク 2.2.0、Scala 2.10.3、Slick 1.0.1
scala - Scala Play Framework Slick - 型の不一致の問題
このドキュメントに従って、簡単なクエリをまとめようとしています。
問題は、行です
これらのエラーをスローします:
ここで何が欠けていますか?
Scala 2.10.3、Play Framework 2.2.0、Slick 1.0.1
更新:解決済み:
scala - Scala Play と Slick を使用して、重要な関係をビューに渡す方法
Play を使用してアプリケーションを構築しようとしています。典型的な e コマース ドメイン モデルを想像してみてください: 顧客、注文、注文品目、製品。
永続化のためのさまざまなオプションを調査する際に推奨されるのは、Scala の ORM レイヤーを避け、Slick などの別の抽象化を使用することです。
私が立ち往生しているのは、ORM を使用すると、単一の「注文」オブジェクトをビューに渡すことができ、既存のリレーションシップを使用して Customer、OrderLines、および Products から関連情報を取得できることです。Slick では、現在 (Order, Customer, Seq[(OrderLine, Product)]) のタプルをビューに渡して、同じ情報を提供しています。たとえば顧客オブジェクトの住所など、モデルをもう少し複雑にし始めると、すぐに非常に厄介になります。
これは推奨されるアプローチですか、それとも何か不足していますか? Play-Slick のサンプル アプリケーションをいくつか見つけましたが、エンティティが 1 つまたは 2 つしかないため、ここで取り上げた問題に実際には対処していません。
scala - スケジュールされた Akka Runnable で Controller DBAction を呼び出す (Scala / Play 2.2)
Play 2.2 アプリケーションの起動時に Akka ジョブをスケジュールしようとしています。
最も単純な形式では、これは私のコードがどのように見えるかです:
ご覧のとおりRunnable
、アプリケーションの開始から 1 分後に実行される new を作成しています。Logger.info("Running the thing!")
正常に実行されます...「Running the thing!」を見ることができます。サーバーを起動してから 1 分後にアプリケーション ログに記録されます。ただし、controllers.Application.runTheThing
呼び出されないようです:
私の「それは起こっている!」ログステートメントは決して表示されず、DBThing.doSomeDBStuff()
実行されるはずのことは決して起こりません。興味深いのは、コンソールまたはログ ファイルにエラーがないことです。
スケジュールされたランナブルからコントローラーDBActionを呼び出すにはどうすればよいですか? または、これが機能するようにスケジューラをどのように作り直す必要がありますか? どんな助けでも大歓迎です、ありがとう。
scala - SecureSocial をうまく利用する: 別のスレッド プールで DB IO を実行する
play-slick 0.5.0.8を使用してデータを Postgresql バックエンドに保持し、 SecureSocial 2.1.2を使用してユーザー認証を処理する Play 2.2.1 アプリがあります。
play-slick トランザクションがブロックされているため、プラグインの Wiki にある指示に従って、ファイルに別のslick-context
実行コンテキストを作成しました。/conf/application.conf
これにより、別の実行コンテキストで実行され、既定のスレッド プールのスレッドをブロックしないコントローラー アクションを作成できます。例えば。/app/controllers/Application.scala
:
例 1 - play-slick の DBAction を使用する:
SecuredAction
特定のコントローラー アクションについては、 SecureSocial のアクション (UserAwareAction
など) を play-slick の と組み合わせて利用できるようにしたいと考えていますDBAction
。2つを組み合わせる最良の方法は何ですか?
私は以下のようなことができることを理解していますが、私の理解では、DB 呼び出しは私のセパレートslick-context
を使用しないため、デフォルトのスレッド プールをブロックします。
例 2 - SecureSocial のアクションの使用:
例 2 では、個別のスレッド プールの代わりにデフォルトのスレッド プールを使用/ブロックすると想定するのは正しいslick-context
ですか? もしそうなら、これを変更する方法はありますか?
もちろん、 Play のデフォルト スレッド プール( ) を増やすことでこれを回避できますdefault-dispatcher
が、理想的には、デフォルト スレッド プールを非常に無駄のない状態に保ち、すべてのブロッキング DB 呼び出しを別のプールで実行したいと考えています。
よろしくお願いします!
scala - Slickで結果タイプを自動推論することは可能ですか?
Slick のプレーン SQL を使用してかなり基本的なクエリを実行するこのメソッドがあるとします。
100 列を超える同じテーブルから別のクエリがある場合はどうなりますか。
この場合、次の 2 行に関して非常に多くの入力が必要になります。
100 列を手動でマッピングせずに、これらの 2 行を自動化することはできますか? 自動推論タイプ、またはすべての列が文字列タイプとして返される場合でも、良い代替手段になります。
詳細が必要な場合、私のスタックは Play Framework 2.2.1、Scala 2.10.3、Java 8 64Bit、PostgreSQL 9.3 です。