5

PlayFramework2.0サーバーをjavaagentで実行できるようにしたいと思います。

Web上のいくつかのリソース(ここここ-javaagent:/path/to/agent.jarを参照)は、これをに追加するだけで実行できることを示唆していますがplay run、私にはうまくいかないようです。

手がかりはありますか?

4

4 に答える 4

2

私はHerokuでそれを使用しており、次のように正常に動作しています(私のProcfileで):

  play ${JAVA_OPTS} ${MYCONFIG} -javaagent:/newrelic/newrelic.jar run

私のnewrelicフォルダーはルート上にあり、アプリと同じレベルです

于 2012-06-13T13:02:08.853 に答える
2

スクリプトを変更せずに -javaagent パラメータを play 2.0.1-2.0.4 での java コマンド呼び出しに渡す明確な方法はありません。

次の手法を使用して、javaagent を機能させることができました。

# Modify the play/framework/build script to include an extra environment variable
sed -i 's/^java\( \${PLAY_OPTS}\)\?/java ${PLAY_OPTS}/' ${playPath}/framework/build

次に、次のように -javaagent パラメータを渡すことができます。

export PLAY_OPTS='-javaagent:/lib/newrelic/newrelic.jar'

${playPath}/play -Dconfig.file=conf/prod.conf -Dlogger.file=conf/prod-logger.xml start


アップデート

残念なことに、New-Relic のサポートから、New-Relic が現在確実に play-framework 2.x をサポートしていないことがわかりました (2012-10-04)。


于 2012-10-04T20:32:37.733 に答える
2

SBT の Java コマンド ラインは、フォルダにある " build.bat" バッチ ファイル (Win) または " build" シェル スクリプト (U*X)で定義されています。%PLAY2_HOME%/framework

そこで定義されたパラメータを調整することで、javagent を追加したり、SBT/Play2 で使用される他の JVM 設定を微調整したりできます。これはおそらく、Heroku の賢い人々がすでに行ったことです。

于 2012-08-03T07:25:26.983 に答える
1

例が機能しない理由は、例がPlay 1.x用であり、play2.xを使用しているためです。Play 1.xは(Pythonスクリプトを介して)Javaを使用しますが、Play2はSBTを使用します。

SBTを構成する必要があります。私はSBTの専門家ではありませんが、グーグルからは単に走っていると思っていたでしょう

play -javaagent:/path/to/agent.jar

その後run、コンソールが起動したらトリックを実行する必要がありますが、それが機能しない場合は、javaagent構文をSBTコンソールに追加する方法を見つける場合です。

于 2012-06-13T11:23:26.840 に答える