使用以前版本的Java Play框架,我们可以提供一个命令行argent来加载监视代理程序。例如,NewRelic可以加载为
./path/to/start -javaagent:/path/to/newrelic.jar
随着2.2的发布,Play团队已经显着改变了启动脚本。据我所知,它不再支持javaagents。有没有其他人使用Java Play 2.2+运行NewRelic?播放很棒,但如果你无法在生产环境中监控它,它就是无用的技术......
答案 0 :(得分:13)
您似乎可以使用-J
为 Java选项添加前缀(使用-D
的方式类似于系统属性):
$ bin/<app> -J-javaagent:lib/newrelic.jar
在脚本本身中发现了这一点,但在使用摘要中注明了这一点:
$ bin/<app> -h
Usage: [options]
...
-J-X pass option -X directly to the java runtime
(-J is stripped)
...
答案 1 :(得分:1)
使用Play Framework 2.2中的新本机打包程序,您需要在JAVA_OPTS
环境变量中设置Java选项。
答案 2 :(得分:0)
在Play Framework 2.2版中,应用程序启动脚本已更改为其他目录。要加载javaagent库,必须指定其完整路径。
例如,如果 heroku-javaagent-1.4.jar 位于项目的 lib 目录中:
heroku config:set JAVA_OPTS="-Xmx384m -Xss512k -XX:+UseCompressedOops -XX:+PrintGCDetails -XX:+PrintHeapAtGC -XX:+PrintGCDateStamps -javaagent:/app/lib/heroku-javaagent-1.4.jar=stdout=true,lxmem=true"
答案 3 :(得分:0)
适用于PlayFramework 2.3.x. 我将代理jar + yml配置文件复制到PLAY_APP_ROOT / lib
sbt start -J-javaagent:lib/newrelic.jar