質問:どのように定義されていても(設定、コマンドライン引数、またはまったく)、再生中のポート番号を取得するにはどうすればよいですか。Play Framework 2アプリケーションのポート番号の取得
この回答はRetrieving port number in-application using Play Frameworkである必要があります。そのコードはコンパイルされないため、再生v1にする必要があります。
プレイ2では、Javaがあります:少なくともいないすべてのケースでは、実際のポート番号を返しません
Integer port = Play.application().configuration().getInt("http.port");
。 Playが次のように実行される場合:null
を返します。
プレイが
run -Dhttp.port 80 -Dhttp.address=example.com
として実行されている場合は、デフォルトポート(9000)の開始を再生します。 biesiorが指摘したように
それが二回ポートを言及することによって動作します:
1の再生が実際に使用するものであり、他方はそれが報告するものであるため、当然のことながら、最適ではないplay -Dhttp.port=80 "run 80"
。
しかし、それはdevモードのために私の質問に答えるでしょう。しかし、ドキュメンテーションによれば、再生ではrun
を使用して決して実行するべきではありません。だから、start
コマンドと同等のものはありますが、より安全で安全な方法はありませんか? (私はJavaバージョンに興味があるが、他の人があまりにもスカラ座について知りたいかもしれません。)DEVモードで実行されている
ちょうどメモ...あなたは本当にあなたがUnix上でポート80でPlayを実行すべきではありません。このためには、Playをrootとして実行する必要があります。これは安全なものではありません。 –