我正在将Java应用程序部署到Cloud Foundry v1作为战争文件。
Cloud Foundry接受我的WAR,在暂存期间将它添加到tomcat并在我的应用程序的某个地方运行这个tomcat在DEA主机上。
而不是将newrelic.jar和newrelic.yml打包到war文件中,我希望它们已经存在于Cloud Foundry的tomcat中。但在这种情况下,所有部署都将具有相同的newrelic.yml,因此我需要一些方法来动态指定正确的应用程序名称,而不是在newrelic.yml中静态设置。这有什么选择吗?
如果可以某种方式使用环境变量,我可以在部署期间设置环境变量。或者可能有一个选项来修改newrelic.jar以添加对Cloud Foundry运行时的依赖以获取应用程序名称?你能提出一些建议吗?
答案 0 :(得分:3)
New Relic Java Agent可以在运行/部署时传递环境变量。
如果您想使用环境变量设置应用名称,可以使用:
export NEW_RELIC_APP_NAME="Your App Name Here"
您还可以在运行时使用Java系统属性传递应用程序名称,如下所示:
-Dnewrelic.config.app_name="Your App Name Here"
此外,优先顺序是环境变量,系统属性,然后是配置文件。环境变量会覆盖所有其他设置,系统属性将覆盖配置文件,但不会覆盖环境变量。