以下の問題のコンテキストで、実行中の play start と play run の違いを理解したいと思います。
私の特定のユースケースはかなり複雑ですが、次のように単純化します。
- (Global.scala の一部として) 起動時に、私の Play アプリケーションは Java アプリケーション X のエントリ ポイントへの直接メソッド呼び出しを行っています。
- 初期化の一部として、X は Tomcat の組み込みインスタンスを開始します。
- X の初期化の最後に、Tomcat が起動してリクエストに応答していることを確認します。
さて、play start
このアプリケーションを実行すると、Tomcat が起動して実行され、X は満足し、人生は続きます。
しかし、私がそうするplay run
と、Tomcat は初期化に失敗し、X はそこに座って応答を待機し、最終的にタイムアウトします。
私が使用する必要がある主な理由play run
は開発のためです。なぜなら、Eclipse デバッガーを実行して再生するようにアタッチしたいからplay debug run
です。
これは単純化しすぎていることは承知していますが、あなたから得たいと思っていることは、Play の実行と Play の開始の違いにつながり、アプリケーションの動作に違いが生じて、この失敗につながる可能性があるということです。
ここで、 http: //www.playframework.com/documentation/2.1.x/ThreadPools に従って Play のデフォルト スレッド プールのスレッド数を増やしてみましたが、うまくいきませんでした。
Play の出力とログには、この問題に関する有益な情報はありません。
Play 2.1.1 を使用しています