2013-10-10 19 views
0

为什么我只看到两个新的Relic库条目?我是否在某处冗余地引用New Relic jar?New Relic系统内存页面显示了三个New Relic库而不是两个

我在我的pom.xml

<dependency> 
     <groupId>com.newrelic.agent.java</groupId> 
     <artifactId>newrelic-agent</artifactId> 
     <version>3.0.1</version> 
    </dependency> 

    <dependency> 
     <groupId>com.newrelic.agent.java</groupId> 
     <artifactId>newrelic-api</artifactId> 
     <version>3.0.1</version> 
    </dependency> 

以下但在设置 - >环境页(https://rpm.newrelic.com/accounts/<account_id>/applications/<app_id>/environment)我看到三个条目:

newrelic-agent 3.0.1 
newrelic-api 3.0.1 
newrelic  3.0.1 

我第一次看到这个当javaagent我的JVM指向的版本与我在pom.xml中描述的版本不同。看起来我已经在pom中定义了两个(我需要编译使用New Relic API的Java代码),并且在启动JVM时指向了代理。

回答

1

我为New Relic技术支持工作。

我问我们的Java代理作者如何这可能发生,得到了以下建议:

1)你不需要比你的CLASSPATH NewRelic的-api.jar中的任何其他。如果你有其他的东西,比如newrelic-agent.jar或者newrelic.jar,那么只需要将它们指定为-javaagent:settings(并且只有其中的一个!),而不是在你的类路径中。删除那里的任何引用应该最终从列表中删除(参见#2)。 2)如果你以前在你的类路径中有另一个不需要的jar的引用,那么这个环境页面不一定是实时的,并且可能有一些旧的缓存数据存在一段时间。如果您使用不同的app_name设置来启动应用程序,那么您将获得该页面的全新清单,并且在CLASSPATH上除了newrelic-api.jar之外没有其他任何内容,这应该是唯一显示的内容。我并不建议你永久这样做,因为你的历史数据只能在旧的应用程序名下生存,只能作为概念验证。

无论如何,让他们上市应该是无害的,但如果你不能设法启动一个新的应用程序来证明我们不会看到他们,如果他们不&从来没有在类路径中,这让你感到厌烦,你应该在https://support.newrelic.com开一张票,这样我们就可以从我们的最后调查你的特定应用程序。