【问题标题】:Is it possible to run Play Framework 2.0 server with a javaagent?是否可以使用 javaagent 运行 Play Framework 2.0 服务器?
【发布时间】:2012-06-13 10:03:05
【问题描述】:

我希望能够使用 javaagent 运行 Play Framework 2.0 服务器。

网络上的一些资源(请参阅 herehere )表明这可以通过将 -javaagent:/path/to/agent.jar 附加到 play run 来完成,但它似乎对我不起作用。

有什么线索吗?

【问题讨论】:

    标签: playframework playframework-2.0 javaagents


    【解决方案1】:

    在不修改脚本的情况下,无法将 -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)。


    【讨论】:

      【解决方案2】:

      我在 Heroku 中使用它,工作正常如下(在我的 Procfile 中):

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

      我的 newrelic 文件夹位于根目录下,与 app

      处于同一级别

      【讨论】:

      • @PereVillega heroku 可能正在使用自定义播放脚本,因为原始脚本会将 -javaagent 作为应用程序参数传递,而不是作为 JVM 参数。无论如何,我很高兴知道 New Relic 代理正在使用 Play 2.0。 :-)
      【解决方案3】:

      SBT 的 java 命令行在位于 %PLAY2_HOME%/framework 文件夹中的“build.bat”批处理文件 (Win) 或“build”shell 脚本 (U*X) 中定义

      您可以通过调整其中定义的参数来添加 javagent 或调整 SBT/Play2 使用的其他 JVM 设置。这可能是 Heroku 的聪明人已经做过的事情了。

      【讨论】:

        【解决方案4】:

        示例不起作用的原因是因为示例适用于 Play 1.x,而您使用的是 play 2.x。 Play 1.x 使用 Java(通过 python 脚本),而 Play 2 使用 SBT。

        您需要配置 SBT。我不是 SBT 专家,但从谷歌搜索,我会认为只是运行

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

        然后在控制台启动后跟上run 应该可以解决问题,但如果这不起作用,则需要找出如何将 javaagent 语法添加到 SBT 控制台。

        【讨论】:

        • 我已经在控制台上尝试了play -javaagent,然后是run,但没有运气。我同意解决方案可能在于将适当的参数传递给 SBT,但谷歌在这里没有帮助我:(
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-01-12
        • 2012-01-24
        • 1970-01-01
        • 1970-01-01
        • 2015-10-14
        相关资源
        最近更新 更多